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

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

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

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 頁面。

最新教學 更多>
  • 儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    解決PHP 中的POST 請求故障在提供的程式碼片段中:action=''而非:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"檢查$_POST陣列:表單提交後使用 var_dump 檢查 $_POST 陣列的內...
    程式設計 發佈於2024-11-20
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-20
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-11-20
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-20
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-20
  • 如何使用 C++ ifstream 從不同整數計數的文字檔案中高效讀取整數?
    如何使用 C++ ifstream 從不同整數計數的文字檔案中高效讀取整數?
    使用C ifstream 從文字檔案讀取整數在以下情況下從文字檔案擷取圖鄰接資訊並將其儲存到向量中會帶來挑戰處理可變整數計數的行。這是使用 C 的 ifstream 的綜合解決方案:傳統方法包括使用 getline() 讀取每一行並使用輸入字串流來解析該行。此技術對於整數數量一致的行非常有效。 #i...
    程式設計 發佈於2024-11-20
  • 為什麼 Goroutine 在 Windows 上有時會執行失敗?
    為什麼 Goroutine 在 Windows 上有時會執行失敗?
    理解 Windows 上非功能性 Goroutines 之謎在並發領域,Goroutines 在 Go 中充當輕量級線程。然而,一些程式設計師遇到了意想不到的挑戰:goroutines 無法在 Windows 上執行。為了解開這個謎團,讓我們深入研究根本問題。 根本原因:非同步執行與傳統執行緒不同,...
    程式設計 發佈於2024-11-20
  • 如何使用 PHP 有效率地將大型 MySQL 檔案匯入共享主機?
    如何使用 PHP 有效率地將大型 MySQL 檔案匯入共享主機?
    PHP 中高效的MySQL 檔案匯入:共享主機的分割查詢在Web 開發領域,通常需要在使用共享主機提供者時匯入大型資料庫文件出現。不幸的是,透過命令列存取 MySQL 可能會受到限制,因此需要一個基於 PHP 的解決方案來解析和執行查詢。 為了解決這個挑戰,開發了一個名為 SplitSQL() 的強...
    程式設計 發佈於2024-11-19
  • 可以只使用 CSS 將圖片大小調整為其大小的百分比嗎?
    可以只使用 CSS 將圖片大小調整為其大小的百分比嗎?
    僅使用CSS 將圖片大小調整為自身的百分比在網頁設計領域,需要將圖片大小調整為特定尺寸經常出現。一個場景涉及將影像的大小減小到其原始大小的一定百分比,而不改變其容器元素的大小。雖然 JavaScript 或伺服器端腳本提供了解決方案,但本文探討了潛在的純 CSS 替代方案。 是否可以使用 CSS 百...
    程式設計 發佈於2024-11-19
  • 何時為 JavaScript 繼承選擇 Object.create 而不是 new?
    何時為 JavaScript 繼承選擇 Object.create 而不是 new?
    JavaScript 繼承:Object.create 與newJavaScript 中的繼承概念可能會令人困惑,因為有多種實現方法它。本文旨在闡明最受接受的方法,並為您的特定場景提供解決方案。 瞭解 Object.create 和 newObject.create 是一個建立物件的方法透過從現有物...
    程式設計 發佈於2024-11-19
  • Bootstrap 網格類別(如 col-md-4、col-xs-1 和 col-lg-2)中的數字如何決定元素寬度和反應能力?
    Bootstrap 網格類別(如 col-md-4、col-xs-1 和 col-lg-2)中的數字如何決定元素寬度和反應能力?
    理解Bootstrap 網格類別中的數字:col-md-4、col-xs-1、col-lg-2 The Bootstrap 框架引入了強大的網格系統,有助於創建響應式佈局。此系統的組成部分是具有 col-* 格式的類,其中星號代表數字。這些數字在確定網格內的元素如何對齊以及它們如何響應不同的螢幕尺寸...
    程式設計 發佈於2024-11-19
  • 如何確定 C++ 編譯器是否符合 IEEE 754 浮點標準?
    如何確定 C++ 編譯器是否符合 IEEE 754 浮點標準?
    檢查C 中的IEEE 754 浮點標準確定C 編譯器是否遵循IEEE 754 浮點標準通常透過以下方式完成編譯器定義。然而,用於 C 的技術可能不會直接適用於 C 。 C 特定方法幸運的是,C 提供了一種簡單的方法來使用numeric_limits 完成此檢查class:std::numeric_l...
    程式設計 發佈於2024-11-19
  • 如何使用 SHA-256 在 Java 中實作安全字串雜湊?
    如何使用 SHA-256 在 Java 中實作安全字串雜湊?
    使用SHA-256 的Java 哈希字串在Java 中使用SHA-256 雜湊字串可能看起來是一個簡單的任務,但是有雜湊和編碼之間的關鍵差異需要澄清。 SHA-256(安全雜湊演算法-256)是否是編碼機制;它是一種單向雜湊函數。這表示當您對字串進行雜湊處理時,您會產生不可逆的二進位資料序列。 要在...
    程式設計 發佈於2024-11-19
  • 如何使用 CSS 替換已棄用的 HTML5 表格屬性?
    如何使用 CSS 替換已棄用的 HTML5 表格屬性?
    HTML5 表格屬性:棄用和CSS 替換HTML5 中已棄用一些常用來設定HTML 表格樣式的屬性,包括cellpadding 、單元格間距、valign 和對齊。進行此變更是為了實現 Web 開發現代化並促進更嚴格地遵守 HTML5 標準。 在 Visual Studio 中,您可能會收到警告,指...
    程式設計 發佈於2024-11-19
  • Ember.js 只需幾秒
    Ember.js 只需幾秒
    在生成式人工智慧讓我們的世界充滿臃腫的文本之前,人類依靠語法上無關緊要的簡潔註釋來幫助他人和他們自己在軟體開發的浩瀚海洋中航行。以下是我認為關於 Ember 的重要內容,取自多年前出土的一張紙條: ember-data 是 Ember 預設使用的 ORM 風格的持久層。它使用模型、適配器、序列化器和...
    程式設計 發佈於2024-11-19

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

Copyright© 2022 湘ICP备2022001581号-3