為什麼我的 PHP 程式碼不會產生 404 錯誤?

Patricia Arquette
發布: 2024-11-11 06:25:02
原創
210 人瀏覽過

Why Doesn't My PHP Code Produce a 404 Error?

解決 PHP 應用中的 404 錯誤困境

在 PHP 開發中,有時需要傳回 404 錯誤來表示資源無法存取成立。但是,您可能會遇到這樣的情況,如下所示的程式碼不會產生預期的 404 錯誤。

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

您可能會得到一個空白頁面,而不是顯示 404 錯誤。問題在於 Web 伺服器和 PHP 在處理 404 回應時如何互動。

如提供的答案中所述:

  • Web 伺服器通常自行處理404 錯誤,顯示指定的404 頁面.
  • PHP 透過接收請求並發送404標頭來覆蓋此過程。

這會導致 Web 伺服器繞過自己的 404 處理機制。因此,Web 伺服器發送的不是預期的 404 頁面,而是 PHP 產生的任何內容,在本例中為空白頁面。

要解決此問題,PHP 應在 Web 伺服器啟動之前發送 404 標頭處理 PHP。這可確保網頁伺服器可以正確處理回應並顯示適當的 404 頁面。

已修正的程式碼:

header('HTTP/1.0 404 Not Found');
exit(); // To prevent any further PHP processing
登入後複製

以上是為什麼我的 PHP 程式碼不會產生 404 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板