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 エラーの通常の流れは次のようになります。
ただし、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 サイトの他の関連記事を参照してください。