」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 PHP 404 標頭會導致空白頁?

為什麼我的 PHP 404 標頭會導致空白頁?

發佈於2024-11-13
瀏覽:427

Why Does My PHP 404 Header Result in a Blank Page?

為什麼在PHP 中發送404 錯誤可能不起作用

在PHP 中,如果您使用代碼設定404 卻遇到空頁面找不到標頭,這是因為:

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
}

雖然技術上正確,但這段程式碼缺少一個關鍵步驟:PHP 負責輸出 404 錯誤頁面。

404 通常是如何處理的

通常,404 錯誤由 Web 伺服器管理:

  1. 使用者請求 URI。
  2. Web 伺服器檢查該 URI 處的檔案。
  3. 如果檔案如果找不到,Web 伺服器會傳送 404 標頭並顯示 404 錯誤頁面。

PHP 在錯誤處理中的作用

但是,當 PHP 頁面執行後,Web 伺服器在處理 404 之前將控制權傳遞給 PHP。

  1. 用戶請求 URI。
  2. Web 伺服器偵測到 PHP 頁面並將控制權傳遞給 PHP。
  3. PHP 檢查文件並發現沒有找到它。
  4. PHP 發送 404 標頭,但現在負責顯示錯誤頁面。

在這種情況下,PHP 缺少能夠顯示自訂 404 頁面,從而導致空白頁面。要解決此問題,您可以將所需的 404 頁面合併到 PHP 程式碼中,或重定向到 PHP 應用程式外部存在的專用 404 頁面。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3