解决 PHP 应用中的 404 错误困境
在 PHP 开发中,有时需要返回 404 错误来表示资源无法访问成立。但是,您可能会遇到这样的情况,如下所示的代码不会产生预期的 404 错误。
if (strstr($_SERVER['REQUEST_URI'],'index.php')) { header('HTTP/1.0 404 Not Found'); }
您可能会得到一个空白页面,而不是显示 404 错误。问题在于 Web 服务器和 PHP 在处理 404 响应时如何交互。
如提供的答案中所述:
这会导致 Web 服务器绕过其自己的 404 处理机制。因此,Web 服务器发送的不是预期的 404 页面,而是 PHP 生成的任何内容,在本例中为空页面。
要解决此问题,PHP 应在 Web 服务器启动之前发送 404 标头处理 PHP。这确保网络服务器可以正确处理响应并显示适当的 404 页面。
更正的代码:
header('HTTP/1.0 404 Not Found'); exit(); // To prevent any further PHP processing
以上是为什么我的 PHP 代码不会产生 404 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!