【发布时间】:2016-06-28 02:29:31
【问题描述】:
我正在使用 IIS 和 PHP。我有一个自定义 404 页面,它是一个 PHP 脚本。在此页面上,我想显示访问的原始 URL。我正在尝试以下文本加上服务器变量,但它只是显示站点名称,HTTP_REFERER 通常为空白。
echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['HTTP_REFERER'];
在 PHP/IIS 中用于获取原始 URL 的正确服务器变量是什么。
这是我的 web.config 中调用自定义 404 页面的适当部分:
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="Redirect" />
</httpErrors>
【问题讨论】:
-
“并且 HTTP_REFERER 通常为空白” - 不应该依赖它。在这里阅读stackoverflow.com/a/6023980
-
同意,但我应该用什么来代替它?不要忘记 IIS 已将浏览器发送到此页面,因为找不到原始页面。
-
不幸的是,Rob,我对 IIS 一无所知。看看这个答案是否有帮助stackoverflow.com/a/13703882