自定义404页面 - PHP

Tom*_*Tom 12 php apache errordocument http-status-code-404

我有一个自定义404页面工作正常,除了我想在此页面上显示的消息.

我想说它找不到页面的网址,而是显示404页面的网址.

这是我的...

You were looking for <?php echo $_SERVER['REQUEST_URI'] ?>.

htaccess文件包含以下行: ErrorDocument 404 /404/

Sim*_*mon 12

您需要使用$_SERVER['HTTP_REFERER']- 这将是他们首先请求的地址.

这仅适用于问题中描述的确切情况 - 浏览器实际上已重定向到 404页面.在这种情况下,$_SERVER['REQUEST_URI']包含404页面的URI而不是所描述的最初请求的页面.

ErrorDocument 404 /handle404.php在站点配置中使用Apache ,或者.htaccess意味着它$_SERVER['REQUEST_URI']实际上会起作用,但更强大的解决方案是下面更新中的选项.

更新:

显然$_SERVER['REDIRECT_URL']可能是一个更好的选择,但搜索了一下.

对于这两种情况,如下面的评论者,记住,任何头也同样容易出现恶意内容提到$_POST,$_GET和其他人,所以输出任何东西之前对其进行处理.

更新2:

没有看到@Janoz的帖子 - 他正确地提到了REDIRECT_URL.

  • 不要忘记做一些转义..技术上,引用者是用户输入. (3认同)

小智 7

从php页面的角度来看,这真的是请求uri.显示错误页面由网络服务器完成.例如,Apache将添加一些额外的服务器变量.REDIRECT_URL可能是您正在寻找的那个.