首页 > 后端开发 > php教程 > 为什么我的 PHP 代码不会产生 404 错误?

为什么我的 PHP 代码不会产生 404 错误?

Patricia Arquette
发布: 2024-11-11 06:25:02
原创
262 人浏览过

Why Doesn't My PHP Code Produce a 404 Error?

解决 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 错误,显示指定的 404 页面.
  • 然而,PHP 通过接收请求并发送 404 来覆盖此过程header.

这会导致 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板