如何修復 406 錯誤並找到問題的根源

伺服器和客戶端錯誤偶爾會發生,我們通常將它們稱為 HTTP 響應或狀態代碼。「406 錯誤」或「406 不可接受」錯誤就是這樣一種 HTTP 響應。

嘗試免費演示

您可能會在訪問網站時看到 406 錯誤。或者更糟的是,在您的網站上。雖然它可能會激怒普通互聯網用戶,但對於網站或應用程序所有者來說,它可能是可怕的。除了看起來有些不專業和令人困惑之外,任何 HTTP 響應代碼,包括 406 錯誤,都可能失去銷售和用戶。

本文將解釋「406 Not Acceptable」錯誤的基礎知識、原因、修復方法以及將來避免它的步驟。

什麼是 406 錯誤?

好消息是 HTTP 錯誤「406 Not Acceptable」消息並不像 404 伺服器錯誤(通常表示網頁不存在),甚至 301 或 500 HTTP 錯誤那樣常見。因此,你絕對不應該看到這麼多。

信息

瀏覽最常見的 WordPress 錯誤代碼並了解它們。

儘管這種情況很少見,但 406 錯誤仍有可能成為您網站的問題。它通常看起來像這樣:

瀏覽器中 406 錯誤的屏幕截圖。

「406 Not Acceptable」消息的一個示例。

該消息通常為:

不能接受的

在此伺服器上找不到所請求資源的適當表示。

然後它有時會識別問題所在的「請求的資源」,並在末尾提到其他消息或伺服器信息:

406 不可接受的消息與被阻止的資源

一些 406 錯誤顯示被拒絕的資源。

406 錯誤消息中的外觀和文本取決於用於訪問該網站的網站、主機和瀏覽器。406 錯誤可能會揭示錯誤的來源。其他時候,您可能會發現這是一個簡單的「406 Not Acceptable」錯誤,沒有任何信息可以幫助您解決問題。

現在,讓我們假設瀏覽器說的是簡單的英語而不是這些神秘的信息。在這種情況下,瀏覽器會說這樣的話:

你好,我是瀏覽器。我試圖顯示此網頁,但發生了兩個問題之一:

  1. 該網站的伺服器向我發送了錯誤的文件格式,因此我無法接受。
  2. 該網站的伺服器違反了某些設置或安全要求。

因此,請解決違規問題或讓伺服器使用我接受的文件格式之一。如果您想知道,這裡是我知道如何閱讀的文件格式。

要是瀏覽器這麼友好就好了!

本質上,伺服器與用於呈現 Web 應用程序的瀏覽器或機器之間存在錯誤通信。瀏覽器要麼無法讀取傳入的內容,要麼無法驗證數據,因為它不符合某些要求。

現在我們必須回答一些問題來找出造成這種溝通不暢的原因。

但這並沒有讓他們不那麼沮喪嗎?在此深入指南中了解如何修復一個常見錯誤?點擊推文

是什麼導致了 406 錯誤?

每次打開網頁時,您的瀏覽器(如 Safari、Firefox、Brave、Chrome 或 Internet Explorer)都會向頁面伺服器發送請求以獲取站點內容和資料庫文件。瀏覽器充當您和伺服器之間的信使——它告訴伺服器用戶想看到什麼,並希望返回正確的信息。

在第一個請求期間,瀏覽器會告訴伺服器它可以接受的所有文件格式。它被稱為 Accept-header 請求,它提示伺服器以正確的格式傳送文件以生成整個網站或 Web 應用程序,從頭開始。

有時,伺服器會發送格式不合適或違反瀏覽器或客戶端計算機規定的規則的回復。在這種情況下,瀏覽器窗口中會出現 406 錯誤,表明伺服器沒有提供適當的數據。

以下是標頭請求中可能出現的「錯誤格式」和「違反規則」的一些​​示例:

  • 接受範圍:一些伺服器設置了安全措施或只允許響應中的特定文件大小範圍。如果響應嘗試發送超出允許範圍的太多位元組,您將看到 406 錯誤。
  • Accept-encoding:這是用於壓縮文件的標題區域,因此它們可以快速從伺服器移動到瀏覽器。不接受某些壓縮方法和格式,從而呈現 406 錯誤代碼。
  • Accept-charset:指字符集或站點文件表如何獲取代碼(如 CSS 和 HTML)並將其轉換為可理解的字元。世界上有太多的字元、語言和符號,要涵蓋所有這些是一項挑戰。標準表稱為 ISO-8859,但也有其他補充表。偶爾會發布新的字元表以跟上語言和字元的添加。
  • Accept-language:這通常是 Accept-charset 的不同名稱,它引用了它對國際語言的關注。
  • MIME 類型衝突:有時,瀏覽器會從伺服器請求特定的 MIME 類型。MIME 類型是內容元素,如 JPEG 圖像、特定視頻格式或簡單文本。如果伺服器無法提供請求的 MIME 類型(如 JPEG 圖像),您將看到 406 錯誤。

解決和修復 406 錯誤的主要方法是檢查 Accept-、Request- 和 Response- 標頭中的問題的源代碼。

查看 Accept- 和 Response- 標頭的最簡單方法是在瀏覽器中打開一個網頁,右鍵單擊並選擇「檢查」。

轉到網路 > 標題以顯示來自此網頁的所有請求。

網路和標題按鈕

右鍵單擊並在瀏覽器中選擇「檢查」,然後轉到「網路」和「標題」選項卡。

您通常可以從長列表中選擇任何請求以查看該特定請求的 Request- 和 Response- 標頭。

查找 406 錯誤的響應標頭

單擊列表中的任何請求以查看諸如 Response- 和 Request- 標頭之類的內容。

或者,您可以聯繫您的 Web 開發人員以查看源代碼。但是,當您擁有用於調試和清理資料庫的工具時,檢查源代碼會容易得多,我們將在本文後面討論。

如前所述,「406 Not Acceptable」錯誤告訴我們客戶端已向伺服器發送了有效請求,但該請求包含伺服器必須遵循的唯一要求。初始請求中的特殊要求採用 HTTP Accept- 標頭的形式。

這給我們留下了一些潛在的原因:

  1. 伺服器未提供請求的 MIME 類型或正確的格式,如 JPEG 或 mp4 視頻。
  2. 伺服器沒有返回正確的語言(接受語言)。例如,當瀏覽器要求提供法語時,它可能會以德語返迴響應。
  3. 伺服器在響應接受編碼請求時使用了錯誤的壓縮方法或格式。
  4. 伺服器發回了太多與 Accept-ranges 請求不一致的位元組。
  5. 伺服器未能提供可理解的字元,這將導致來自瀏覽器的 Accept-charset 請求出現問題。

您可能會看到 406 錯誤還有其他原因,但它們並不常見。上面的列表是從最常見到最不常見的原因。前兩個比其他兩個更頻繁地發揮作用,因此您很有可能通常應該專註於排除 MIME 類型違規或接受語言問題的可能性。

總體而言,網站所有者應該了解這些格式問題和違規行為,了解您網站文件中的某些內容可能會導致問題。此類情況經常因人為錯誤而發生,例如不小心輸入錯誤的代碼、刪除必要的代碼或錯誤配置伺服器。當特定的安全設置或規則阻止來自伺服器的內容傳輸時,也會出現 406 錯誤。

如何修復 406 錯誤

在完成解決 406 錯誤的任何步驟之前運行網站或應用程序備份是謹慎的。訪問站點的源代碼總是有可能導致進一步的問題,因此您需要在必要時進行資料庫和站點文件備份以進行恢復。

確保您完成了從資料庫到應用程序以及媒體元素到站點文件的所有內容的完整備份。如果您是 Kinsta 用戶,則可以使用 MyKinsta 備份功能執行此操作,該功能將您的整個網站記錄在一個單獨的文件中,並有一個「恢復」按鈕供以後使用:

備份以幫助解決 406 錯誤

在 MyKinsta 儀錶板中運行每日、每小時或手動備份。

現在我們對 406 錯誤發生的原因有了更深入的了解,是時候討論解決錯誤並防止它再次發生的最佳方法了。

這些策略包括客戶端原因(用戶出錯或機器無法正常工作)、伺服器端原因和基於平台的原因,如插件錯誤。

確保 URL 正確

我們的第一條建議聽起來可能很簡單,但它是最快的故障排除選項,並且將重點放在客戶端(即您的計算機)的問題上。

在這種情況下,404 錯誤比 406 錯誤更有可能發生,但如果網站 URL 有效,您最終可能會看到「406 Not Acceptable」錯誤。然而,瀏覽器轉換請求的方式有些奇怪。例如,在 URL 末尾添加「JSON」或「PHP」可能會被誤解為對這些特定格式的請求,即使客戶端不需要它們。

要解決此問題,請仔細檢查之前使用的導致錯誤的 URL。嘗試再次輸入它或在網站上選擇不同的子域,看看它是否只有一個頁面沒有呈現。

406 消息在技術上被認為是客戶端錯誤代碼(即使它通常是平台或伺服器問題),因此這是確定客戶端是否有問題的第一個操作過程。

重置您的設備和網路

另一個客戶端問題偶爾涉及從用戶計算機發送到無法滿足請求的平台的相同 Accept- 標頭。其中許多平台包括 Hulu 等面向遊戲或媒體的系統或 Spotify 等音樂市場。

簡單來說,您可能會登錄 Hulu 等平台,嘗試觀看自己喜歡的電視節目,但會收到 406 錯誤消息。在這個例子中,問題幾乎總是在客戶端。它通常是您用來啟動平台的計算機、網路或其他設備。

訂閱時事通訊

想知道我們是如何將流量增加超過 1000% 的嗎?

加入 20,000 多名其他人的行列,他們會收到我們的每周時事通訊,其中包含 WordPress 內幕技巧!

現在訂閱

儘管任何平台都可能發生這種情況,但一些通常報告 406 錯誤的平台包括:

  • Hulu
  • 谷歌播放
  • 史克威爾艾尼克斯遊戲
  • 網飛
  • Xbox
  • Windows(通常用於遊戲)

此列表遠非完整,但它可以讓您了解 406 錯誤可能發生的位置。

媒體和遊戲平台很複雜,有很多限制,而這些限制取決於您的位置或網路配置。由於所有移動部件,您可能會遇到這樣的錯誤。

儘管我們無法幫助您對每個特定平台進行故障排除,但請考慮執行以下建議並檢查錯誤是否已解決:

  • 上網檢查您平台伺服器的狀態。可能只是公司伺服器的問題。
  • 重新啟動您的計算機、遊戲系統、流媒體設備或其他機器。
  • 斷開所有設備與電纜的連接,等待幾分鐘,然後重新連接所有設備,然後檢查錯誤是否消失。
  • 檢查應用程序是否正在運行最新版本。另外,查看您的任何機器是否有可用的固件更新。
  • 重置您的家庭或辦公室網路(通過路由器的 WiFi 或互聯網連接)。
  • 如果您仍然遇到問題,請考慮從無線網路切換到有線網路連接。
  • 儘管這並不總是可能的,但請考慮使用完全不同的機器複製錯誤。確保設備在同一網路上。如果您無法複製錯誤,請查看您的網路和原始機器。

如果所有其他方法都失敗了,請轉到您的搜索引擎並輸入您的平台名稱以及「+ 406 錯誤代碼」以獲得特定於平台的故障排除建議。這通常會顯示論壇和支持文檔,以指導您完成整個過程。

回滾您最近的 CMS 更改

接下來,是時候探索用於您的網站或應用程序的系統了。您可能會發現,您的內容管理系統(例如 WordPress)是「406 Not Acceptable」錯誤的直接原因,原因是站點文件中的某些內容複雜化。

無論是使用 WordPress 還是任何其他內容管理系統,請查看上次更新的時間。無論如何,WordPress 都有一個堅固的默認基礎架構,旨在避免這些類型的錯誤。

但是,特定的插件、主題或手動調整的編碼可能會產生站點文件違反客戶端或伺服器請求的情況。簡單升級到 CMS 的最新版本即可立即解決問題。

要確定它是否是您的 CMS,首先要回滾發生在核心文件上的任何最近的升級。您可能已經知道,WordPress 會定期向其系統發送更新。大多數這些更新會自動發生,但舊版本仍然需要您單擊按鈕。

此外,WordPress 和其他 CMS 使用多個移動部件,如插件、主題和擴展。這些也會定期更新,因此您可能需要回滾其中的一些。

對於 WordPress 之外的所有系統,搜索「平台名稱 + 如何降級」。

如果您使用 WordPress,您可以輕鬆降級您的 WordPress 網站,有效地將其回滾到以前的版本之一:

儀錶板中的 wordpress 版本

降級到以前的 WordPress 版本。

該指南概述了以下降級 WordPress 網站的方法,其中大部分只需要幾分鐘:

  • 手動降級您的 WordPress 網站。
  • 使用插件完成WordPress系統降級。
  • 恢復以前的備份以恢復舊版本,或者至少是以前的內容和文件。
  • 手動降級主題或插件。
  • 使用單獨的插件降級插件或主題。
  • 切換到舊版本的 PHP。

卸載和重新安裝插件、主題和擴展

WordPress 插件和主題向與核心 WordPress 文件交互的站點文件添加額外代碼。信譽良好的插件通常不會引起任何問題,但偶爾會發生衝突。插件、主題或第三方擴展可能是 406 錯誤的原因。

需要為您的新電子商務網站提供一流、快速且安全的託管服務?Kinsta 提供超快的伺服器和 WooCommerce 專家提供的 24/7 世界級支持。查看我們的計劃

識別麻煩的插件或主題的行之有效的方法是一一停用您的插件和主題。禁用每個後,檢查 406 錯誤是否已消失。如果是這樣,你就找到了問題所在。如果它沒有消失,請重新安裝插件或主題並繼續卸載下一個。

當您看到 406 錯誤時停用插件

轉到 WordPress 中的插件選項卡並一個一個地停用每個插件。

重要的

從您的插件開始,然後轉到主題。卸載和重新安裝主題具有更大的內容重新排列潛力。

分析資料庫的變化和衝突狀態

不幸的是,刪除的「問題」插件仍然可能會影響您的 WordPress 資料庫,因為插件可以完全訪問資料庫才能正常工作。因此,即使插件的刪除使 406 錯誤消失,您仍然應該檢查資料庫的狀態。否則,您將來仍有可能會遇到更多問題。

如果插件或主題不是罪魁禍首,您還應該檢查資料庫是否是錯誤的主要來源。有時,資料庫更改,無論是偶然的還是有意的,都會成為出現 406 錯誤的主要原因。

要掃描和修復您的資料庫,請考慮以下解決方案:

  1. 安裝一個資料庫掃描器和清理器,刪除無用和麻煩的表和資產。一些選項包括 WP Optimize 和 Advanced Database Cleaner。這個過程的大部分內容涉及刪除舊的或孤立的項目,如垃圾帖子、修訂和元數據。這是清理資料庫並可能消除 406 錯誤的堅實第一步。
  2. 掃描資料庫並查找可能被有問題的插件或看起來不合適或不必要的插件更改的記錄和表。
  3. 如果您知道您的資料庫出了什麼問題,請訪問搜索引擎並從論壇和其他在線討論中尋求幫助。其他人很有可能遇到過同樣的問題。

使用插件優化資料庫

使用 WP-Optimize 等優化工具清理資料庫。圖片來源:WP-Optimize

信息

Kinsta 託管不依賴於 Apache,而是依賴於 Nginx。如果您遇到 406 錯誤,請隨時聯繫 Kinsta 客戶支持或您的託管服務提供商尋求幫助。

分析您的伺服器日誌

之前的建議側重於客戶端和面向 CMS 的故障排除。現在我們將考慮所有伺服器端問題。如果您沒有使用 CMS 或知道 406 錯誤與您的 CMS 或客戶端計算機沒有連接,則此提示以及以下提示是最佳選擇。

伺服器故障排除的第一步是檢查日誌。無論您使用什麼類型的 Web 應用程序、CMS 或 Web 設計系統;他們都有伺服器端日誌。

應用程序日誌存儲該 Web 應用程序的整個(或最近)歷史記錄,以及有關每個資料庫查詢、提供的結果、請求的頁面等等的信息。另一方面,伺服器日誌包含有關用於運行 Web 應用程序的伺服器或硬體的運行狀況和狀態的信息。

對於 Kinsta 用戶,您可以在 MyKinsta 儀錶板中找到錯誤和伺服器日誌。檢查所有可能導致 406 錯誤的日誌:

  • error.log 文件
  • kinsta-cache-perf.log 文件
  • access.log 文件

在對 406 錯誤進行故障排除時檢查日誌

要查看三個必要的日誌,請單擊「站點」選項卡,選擇您的站點,然後單擊「日誌」按鈕,以及下拉菜單中的日誌類型。

您還可以使用 FTP 客戶端檢查原始訪問和 WordPress 錯誤日誌文件。其他選項包括在 wp-config.php 中啟用錯誤日誌並在 MyKinsta 儀錶板中進行調試模式。

如果您在查找錯誤日誌時遇到問題或不知道如何解釋它們,請聯繫 Kinsta 客戶支持團隊尋求幫助。

調試 Web 應用程序(如 WordPress)

就像大多數 Web 應用程序都有伺服器和錯誤日誌一樣,它們通常也提供有關調試應用程序本身的信息。調試涉及通過應用程序的代碼來查找和消除小錯誤(或錯誤)。

運行 WordPress(以及任何與此相關的任何 Web 應用程序)完整掃描的最佳方法之一是調試資料庫和網站文件。幸運的是,調試並不意味著您必須通讀每一行代碼並自己找出錯誤。程序可用於此特定目的,正如我們前面提到的,Kinsta 甚至在 MyKinsta 儀錶板中有其調試工具。

通過學習使用 Kinsta 調試模式、WordPress 調試插件或更多手動過程調試 WordPress 的基礎知識,開始調試過程:

使用 WordPress 調試 406 錯誤

站點 > 工具將您帶到一個頁面,以激活 Kinsta 儀錶板中的 WordPress 調試模式功能。

防止將來出現 406 錯誤

406 錯誤的問題在於它可以在許多不同的情況下彈出。作為普通消費者瀏覽 Hulu 或 Netflix 時,您可能會看到「406 Not Acceptable HTTP」錯誤。

這不是很愉快,但沒有什麼是一點點故障排除無法解決的。更令人擔憂的是 406 錯誤發生在您的網站或應用程序上。對於這些實例,您需要檢查伺服器和 CMS 站點文件。

如果是您的網站,您將希望防止錯誤再次發生。插件、主題和人為錯誤總是會起作用,但我們有一些建議可以讓您的資料庫和站點文件在未來保持乾淨:

  • 僅安裝必要且信譽良好的插件、主題和擴展。始終將這些元素保持在最低限度。
  • 永遠不要修改核心 WordPress 文件,除非您絕對必須並且知道自己在做什麼。
  • 定期運行資料庫清理器和站點優化器。我們建議每個月完成這個過程,最好找到一個在後台自動運行的更乾淨的插件。
  • 養成調試伺服器和 Web 應用程序的習慣。如前所述,Kinsta 在其儀錶板中提供了調試功能。許多其他應用程序也具有此類功能。
  • 設置您的網站或應用程序的自動備份。這樣,代碼衝突或錯誤不會給您帶來太大壓力,因為您可以恢復網站的先前版本並從那裡開始。
  • 在您計劃更新 WordPress 和任何插件之前運行您的站點的手動備份,即使您已經運行了自動備份(安全總比抱歉好)。在編輯任何文件或向站點添加新代碼之前運行備份也是明智的。

除了看起來不專業和引起混亂之外,406 錯誤還會導致您失去銷售或用戶?在此處了解如何修復它⬇️點擊推文

概括

您可以通過多種方式修復 406 錯誤。只要您知道所看到的內容以及在哪裡尋找修復程序,您就應該能夠清除錯誤。

雖然這不是更常見的 WordPress 錯誤之一,但如果您的配置不正確,您會不時看到它。

對於解決「406 Not Acceptable」錯誤,您還有其他建議嗎?請在下面的評論部分分享它們!

通過以下方式節省時間、成本並最大限度地提高站點性能:

  • 來自 WordPress 託管專家的即時幫助,24/7。
  • Cloudflare 企業集成。
  • 全球受眾覆蓋全球 28 個數據中心。
  • 使用我們內置的應用程序性能監控進行優化。

所有這些以及更多,都在一個沒有長期合同、協助遷移和 30 天退款保證的計劃中。查看我們的計劃或與銷售人員交談以找到適合您的計劃。

相關文章