我要求只有在用户从其他页面重定向时才需要显示网页。例如,我有一个页面http://<some_host>/t2.html
,只有在用户从http://<some_host>/t1.html
到达时才会呈现。否则,应返回HTTP 403。因此,如果用户在浏览器的地址栏中键入http://<some_host>/t2.html
,它应该返回HTTP 403.我试图使用referer来执行此操作
if ($http_referer !~ "^$scheme://$http_host/t1.html$") {
return 403;
}
但由于某种原因,这不起作用。它似乎不接受$scheme
和$http_host
变量。如果我不使用变量但将其硬编码到http
和localhost
,则可以正常工作。有没有办法避免硬编码?或者除了使用引用者解决这个问题之外还有其他方法吗?