PHP アプリで 404 エラーではなく空白のページが表示されるのはなぜですか?

Susan Sarandon
リリース: 2024-11-12 03:33:02
オリジナル
903 人が閲覧しました

Why Does My PHP App Show a Blank Page Instead of a 404 Error?

PHP 404 エラー: ラスト マイル ギャップについて

一見正しいコードに従っているにもかかわらず、PHP アプリケーションが 404 を表示できないのはなぜですかエラーが発生し、代わりに空白のページが表示されますか?

提供されたコードにより、 404エラーヘッダーが送信されます。ただし、Web サーバーと PHP で応答がどのように処理されるかという重要な違いが説明されていません。

Web サーバーの処理

通常、Web サーバーはリクエストを処理します。そして、その URI で要求されたファイルが見つからない場合は、404 ヘッダーを送信し、カスタム 404 エラーを表示します。 page.

PHP インターセプト

Web サーバーがリクエストを PHP ページに委任するとき、PHP スクリプトはヘッダーと応答本文の両方を生成します。これは、404 ヘッダーが PHP によって送信されたにもかかわらず、Web サーバーが標準の 404 ページの代わりに PHP ページを表示することをすでにコミットしていることを意味します。

PHP へのハンドオーバー

その結果、PHP スクリプトは 404 エラーを処理する責任を効果的に引き継ぎます。これにより、次の 2 つのエラーが発生します。課題:

  • 404 ページがありません: PHP スクリプトには、カスタム 404 エラー ページにリダイレクトするために必要な構成がありません。
  • 出力干渉: PHP スクリプトによって生成された出力は 404 ページのコンテンツをオーバーライドし、代わりに空白のページが表示されます。

解決策

問題を解決するには、404 ケースを明示的に処理し、エラー メッセージを自分で出力する必要があります。次のコードは例を示しています:

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
    echo '<h1>404 Not Found</h1>';
    exit;
}
ログイン後にコピー

以上がPHP アプリで 404 エラーではなく空白のページが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート