ホームページ >バックエンド開発 >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 エラーの通常の流れは次のようになります。

  • ユーザー: "Do youこの URI に何かありますか?"
  • Web サーバー: "いいえ、404 エラーです。 「

ただし、PHP コードでは次のようになります。

  • ユーザー: 「この URI に何かありますか?」
  • Web サーバー: 「はい」これは 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。