好的,当我尝试使用
<?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(正常)