首页 >后端开发 >php教程 >为什么我的 PHP 404 错误会导致空白页?

为什么我的 PHP 404 错误会导致空白页?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-13 14:53:02203浏览

Why Does My PHP 404 Error Result in a Blank Page?

PHP 404 错误规避:揭露隐藏的通信缺陷

尝试使用 PHP 发送 404 错误时,您可能会遇到意想不到的结果: 空白页。要了解发生这种情况的原因,让我们研究一下您提供的代码:

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
}

虽然技术上是正确的,但此代码仅将 HTTP 标头设置为“404 Not Found”。然而,在拦截此标头之前,Web 服务器已经开始处理 PHP 页面。

404 错误的正常流程如下所示:

  • 用户:“你愿意吗?”此 URI 上有任何内容吗?”
  • 网络服务器:“不,404!这是一个 404 错误页面。”

但是,使用您的 PHP 代码:

  • 用户:“您在此 URI 上有任何内容吗?”
  • 网络服务器:“是的,这是一个 PHP 页面。它会告诉你状态代码。”
  • PHP:“OMG 404!”
  • 网络服务器:“哎呀,人们留下了错误页面,所以我只发送 PHP 给我的内容。”

因此,尽管有 404 标头,浏览器仍然接收 PHP 输出并呈现空白页面。要解决此问题,PHP 还必须提供 404 错误页面。例如,您可以使用以下代码:

header('HTTP/1.0 404 Not Found');
echo '<html><head><title>404 Not Found</title></head><body><h1>404 Error</h1></body></html>';

以上是为什么我的 PHP 404 错误会导致空白页?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn