如何获取未找到页面的URL,以便在自定义404页面中显示它


How do get the URL of a Not Found page, in order to display it in a custom 404 page?

好的,当我尝试使用

<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" ?>

它会打开它自己的文件:例如。blah.com/404.php

另外,我将如何使用 403 页面执行此操作?我知道这是可能的,我已经尝试过

    $_SERVER['HTTP_REFERER']

但是注意到,或者有时它只是一个零。这是我第一次使用404,我做错了什么?

404 状态代码应由"未找到"的 url 返回。因此,与其重定向到另一个 php 文件,不如立即"返回"此代码。

您应该查看.htaccess文件中的错误文档处理。这样的事情可能会帮助你:

ErrorDocument 404 /notfound.php

这将返回 404 状态代码。此解决方案的好处是:您可以访问notfound.php文件中的$_SERVER['REQUEST_URI']并使用它来显示错误消息或任何其他操作。

我发现了问题,您必须发布相对路径,而不是直接链接,否则它将重定向到该页面而不是显示 404。

例如:

 ErrorDocument 404 /404.php

这样.htacess就不会重定向到 Yoursite.com/notfound.php它还将发送 404(未找到)而不是 200(正常)