在 IIS PHP 404 页面中显示原始 URL


Showing raw URL in IIS PHP 404 page

我正在使用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>

我没有使用重定向,而是执行了

<error statusCode="404" path="/404.php" responseMode="ExecuteURL" />

以及用于描述页面的变量

echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];