PHP 404 錯誤:了解最後一哩差距
儘管遵循看似正確的程式碼,為什麼您的PHP 應用程式無法顯示404錯誤並顯示空白頁面?
提供的程式碼確保 404 錯誤標頭是 發送。但是,它無法解釋 Web 伺服器與 PHP 處理回應方式的關鍵差異。
Web 伺服器處理
通常,Web 伺服器處理請求並且,如果找不到URI 請求的文件,則會發送404 標頭並顯示自訂404 錯誤
PHP 攔截
當Web 伺服器將請求委託給PHP 頁面時,PHP 腳本負責產生標頭和回應正文。這意味著儘管 PHP 發送了 404 標頭,但 Web 伺服器已經承諾顯示 PHP 頁面而不是標準 404 頁面。
移交給PHP
因此,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中文網其他相關文章!