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中文網其他相關文章!