Apache ErrorDocument:显示404 URL

时间:2013-01-03 15:30:35

标签: apache http-status-code-404 errordocument

我怀疑这不可能做到,但无论如何都要进行。在静态站点上,有没有办法显示用户在使用Apache指令ErrorDocument将404 File Not Found错误重定向到自定义页面时尝试访问的URL ?例如,如果您尝试:

http://www.fredriley.org.uk/dingbat/arsebiscuits

默认的404错误说:

The requested URL /dingbat/arsebiscuits was not found on this server.

因此URL必须位于环境变量中。我可以在自定义错误文档中找到它吗?我想告诉用户URL,而不是只给他们一个通用的错误文档。我知道我可以在PHP中轻松地做到这一点,但该网站仅包含静态HTML文档。

1 个答案:

答案 0 :(得分:1)

拥有静态网站并不会阻止您拥有动态错误页面。您可以使用托管服务提供的任何服务器端技术。

如果您可以使用PHP,您只需选择一个静态模板,将其扩展名更改为*.php并添加一些动态代码段:

<p><?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?></p>

如果您可以使用SSI,则非常相似:

<p><!--#echo var="REQUEST_URI" --></span></p>

REQUEST_URI变量包含用户键入的URL的本地部分(哈希除外)。这是一个不错的选择。