如何修復 WordPress 網站上的 405 Method Not Allowed 錯誤

已發表: 2019-07-03

如果有人在您的網站上看到錯誤頁面,他們很可能會生氣並離開。 這可能會導致大量的參與和銷售損失。 要注意的一個特別常見的錯誤是“405 Method Not Allowed”消息。

此錯誤可能很難導航,因為它表明出現問題而沒有告訴您發生的原因。 幸運的是,只要稍加努力和耐心,您就可以很快恢復正常運行。

在這篇文章中,我們將解釋什麼是 405 錯誤,並向您展示它可能出現的不同方式。 然後,我們將向您介紹一些可以在您的 WordPress 網站上修復此錯誤的方法。 讓我們開始吧!

405 Method Not Allowed 錯誤是什麼

當您管理一個網站時,幾乎可以肯定您最終會遇到某種常見問題。 網站出現故障,鏈接中斷,頁面加載速度太慢。 儘管這些情況很常見,但無人看管可能會導致糟糕的用戶體驗。

不幸的是,有些問題比其他問題更難解決。 例如,考慮 405 Method Not Allowed 錯誤消息。 這是一種 HTTP 響應狀態,表明 Web 瀏覽器已請求訪問您網站的某個頁面。

在這種情況下,您的 Web 服務器已接收並識別該請求,但拒絕了它使用的特定 HTTP 方法。 實際上,這意味著瀏覽器無法訪問它所請求的頁面。 您網站的訪問者將看到一個錯誤頁面,而不是他們正在尋找的內容:

谷歌瀏覽器

Chrome中的405不允許錯誤Nginx
Chrome中的405不允許錯誤Nginx

蘋果瀏覽器

405 不允許 Safari 中的 Nginx 錯誤
405 不允許 Safari 中的 Nginx 錯誤

火狐

Firefox 中的 405 Not Allowed 錯誤 Nginx
Firefox 中的 405 Not Allowed 錯誤 Nginx

微軟邊緣

Microsoft Edge 中的 405 不允許 Nginx 錯誤
Microsoft Edge 中的 405 不允許 Nginx 錯誤

405 Method Not Allowed 錯誤不應與 404 Not Found 錯誤相混淆。 404 告訴您找不到請求的 URL 或輸入錯誤。 另一方面,405 錯誤消息確認請求的頁面確實存在(並且 URL 輸入正確),但使用了不可接受的 HTTP 方法來發出初始請求。


查看我們的 405 Method Not Allowed 錯誤視頻指南

405 方法不允許錯誤的變化

儘管 405 錯誤消息最常以我們上面顯示的形式出現,但各種 Web 服務器、操作系統和瀏覽器可以通過多種方式呈現它。 問題的實際原因也可能因服務器而異,這可能會影響錯誤的出現方式。

以下只是您可能遇到的許多不同變體中的幾個:

  • 405 不允許
  • 不允許的方法
  • HTTP 405 錯誤
  • HTTP 錯誤 405 – 方法不允許
  • 不允許使用 HTTP 405 方法

不管它們如何出現,405 錯誤的問題在於它們很難解決。 這是因為他們讓您知道出了問題,但他們沒有告訴您問題的原因是什麼。 在大多數情況下,由您自己找出根本原因並在可能的情況下進行修復。

您的#WordPress 網站是否出現 405 Method Not Allowed 錯誤? 這裡有7個想法可以輕鬆解決它! 點擊推文

如何修復 WordPress 網站上的 405 Method Not Allowed 錯誤(7 種可能的解決方案)

在我們開始討論可能的解決方案之前,您需要為您的站點創建一個備份。 如果你犯了錯誤,這會給你一些可以依靠的東西。 許多網絡託管服務提供商將定期站點備份作為其計劃的一部分。 如果您在 Kinsta 有託管計劃,則創建備份很簡單。

一旦解決了問題,就該開始故障排除過程了。 我們在下面概述的方法是從最有可能解決問題到最不可能解決問題的,因此從頂部開始,逐步向下工作以獲得最佳結果。

事不宜遲,讓我們從列表中更簡單的步驟之一開始。

1. 檢查您是否輸入了正確的 URL

這聽起來可能有點太簡單了,但 405 Method Not Allowed 錯誤的最常見原因是輸入了錯誤的 URL。 大多數 Web 服務器都受到嚴格保護,旨在禁止訪問不正確的 URL,以防止用戶訪問錯誤的頁面(或嘗試訪問不存在的頁面)。

因此,在繼續之前,請仔細檢查以確保您已正確輸入了您希望訪問的站點的 URL。 犯錯比您想像的要容易——例如忘記一個字母或拼錯一個單詞。 您可能還會發現,只需刷新頁面即可提示它正確加載。

2. 回滾任何最近的 WordPress 更新

更新是美妙的事情。 它們通常會帶來大量令人興奮的新功能,並且可以幫助修復任何持續存在的錯誤並修補安全漏洞。 然而,儘管他們的意圖是好的,但更新偶爾會導致一些問題。

如果您在 405 Method Not Allowed 錯誤消息開始出現之前更新了 WordPress,則新代碼可能是問題的根源。 這也適用於您最近升級的任何擴展或主題——儘管我們將在下一節中更關注這方面。

如果您覺得更新可能有問題,那麼值得恢復到以前版本的 WordPress。 正如我們已經提到的,在執行此操作之前,請確保您已準備好完整的站點備份——您不想進行任何不可逆轉的更改。

雖然您可以手動執行此操作,但回滾 WordPress 更新的最簡單方法是使用插件。 有許多可用的選項,儘管 WP Downgrade 特別有效。 這個插件將在很大程度上自動化這個過程,這意味著你不太可能犯錯誤。

在您的武器庫中擁有這樣的工具也意味著您可以防止將來發生類似的問題。 當然,如果回滾最新更新不能解決問題,請記住重新更新您的站點或恢復您的備份。

通過一個統一的管理儀表板和站點備份變得簡單(且可訪問),最大限度地減少出錯的可能性。 免費試用 Kinsta。

3.卸載新插件和主題

插件是任何 WordPress 網站的重要組成部分。 它們使您能夠添加大量新功能,甚至可以自動化更複雜的流程。 主題同樣重要。 沒有它們,您將需要大量複雜的編碼(或昂貴的開發人員)來創建一個美觀的網站。

不幸的是,就像軟件更新一樣,這些擴展有時會產生問題。 這是因為在任何級別向您的站點添加功能都會完全改變其運行方式。 您使用的插件或主題可能存在問題,或者特定擴展可能與您網站的另一部分(甚至您的 WordPress 版本)發生衝突。

因此,您可能會發現卸載某些插件或主題可能有助於修復 405 Method Not Allowed 錯誤。 要開始此過程,您需要導航到 WordPress 儀表板的插件部分。 在此頁面上,您應該能夠看到已安裝的所有插件的完整列表:

WordPress 中的插件頁面
WordPress 中的插件頁面

從這裡,您可以開始一次卸載一個插件。 卸載每個後,檢查您的網站以查看錯誤是否已解決。 此過程可能需要一些時間才能完成,但它可以讓您準確找出導致問題的插件(如果其中任何一個有問題):

如何停用 WordPress 插件
如何停用 WordPress 插件

一旦你檢查了你的插件,你可以用你的活動主題重複這個過程。 如果您的主題或您的某個插件出現問題,您需要聯繫開發人員,刪除插件或主題,或者尋找替代品。 這是我們關於如何安裝新的 WordPress 主題的指南。

4.檢查任何意外的數據庫更改

儘管上述步驟應該可以解決任何與插件或主題相關的問題,但它並不能保證您的擴展所做的所有更改都已完全恢復。 對於許多 WordPress 插件來說尤其如此。 一旦您點擊Install ,他們通常就可以完全訪問您的數據庫,這意味著他們的更改比您最初想像的要深入。

除非開發人員明確針對它進行編碼,否則插件可能能夠修改不“屬於”它但由 WordPress 本身管理的數據庫記錄。 在這種情況下,插件可能不知道如何恢復對數據庫記錄的這些更改,因此它會在卸載過程中忽略它們。

診斷此特定問題可能很困難,但如果您仍然懷疑插件或主題是導致 405 Method Not Allowed 錯誤的原因,那麼直接檢查您的數據庫是您最好的做法。 為此,您需要打開站點的數據庫,並手動查看由擴展程序修改的表和記錄。 如果您不確定要查找什麼,此時與您的開發人員聯繫是一個明智的想法(以及此列表中的其餘步驟)。

5. 確認您的服務器配置

您的網站可能運行在使用兩種最流行的服務器軟件選項之一的服務器上——Apache 或 Nginx。 事實上,它們共同為全球 84% 的 Web 服務器提供動力。 檢查 Web 服務器軟件的配置文件中是否有任何意外處理說明可能有助於確定 405 Method Not Allowed 錯誤的根本原因。

要確定您的 Web 服務器正在使用哪個應用程序,您需要尋找一個密鑰文件。 例如,如果您的 Web 服務器正在運行 Apache,您應該能夠在您網站的文件系統的根目錄中找到一個 .htaccess 文件。

當您的應用程序位於共享主機上時,您可能會有一個與您的特定帳戶相關聯的用戶名。 如果是這種情況,通常可以通過以下路徑找到應用程序根目錄:

/home/public_html/

因此,可以在以下位置找到 .htaccess 文件:

/home/public_html/.htaccess

找到 .htaccess 文件後,在文本編輯器中打開它並查找使用 Rewrite 指令的行。 這些是 Apache 中 mod_rewrite 模塊的一部分,並定義了一個基於文本的模式,該模式將與所有輸入的 URL 匹配。 如果訪問者向您的站點請求匹配的 URL,則 RewriteRule 將適當地重定向訪問者。

為了更好地證明這一點,這裡有一個簡單的 RewriteRule 匹配所有傳入到 https://kinsta.com 的請求,並以 405 Method Not Allowed 錯誤代碼響應:

重寫規則示例
重寫規則示例

正如您可能看到的,規則末尾有一個標記為 R=405 的標誌。 這明確指出響應代碼應為 405,向用戶指示資源存在,但不允許提供的 HTTP 方法。 如果您在 .htaccess 文件中發現任何包含類似指令的奇怪 Rewrite 指令,請嘗試使用 # 字符前綴暫時將它們註釋掉。 然後,您可以重新啟動 Web 服務器,以查看您的更改是否已解決問題。

請記住,如果您是 Kinsta 的客戶,我們使用 Nginx 服務器,而不是 Apache。 如果您認為您的 Nginx 配置可能有問題,您可以聯繫我們的支持團隊。

6.查看服務器端日誌

幾乎每個 Web 應用程序都會保留某種服務器端日誌。 應用程序日誌通常包含軟件所做的所有事情的完整歷史記錄——從它請求的頁面到它提供的數據庫結果。

服務器日誌略有不同,因為它們與運行應用程序的實際硬件有關。 他們通常會提供有關所有連接服務的健康和狀態的詳細信息,甚至只是服務器本身。

要查找您的 WordPress 服務器日誌,您需要通過安全文件傳輸協議 (SFTP) 連接到您的站點。 在根目錄中,您將看到一個名為 logs 的文件夾。 此文件夾中包含您的訪問日誌和 WordPress 錯誤日誌。 它們應該看起來像這樣:

  • 訪問日誌
  • 錯誤日誌

從那裡,您可以開始遵循與上一步中概述的過程類似的過程。 查看日誌並記下任何看起來不合適的地方(或要求您的開發人員這樣做)。 您還可以參考 codex 以獲取 WordPress 中的其他調試信息。

7. 調試您的應用程序代碼或腳本

如果前面的步驟都沒有成功,則可能表明您的 WordPress 安裝中的某些自定義代碼存在問題。 確定這是否是 405 Method Not Allowed 錯誤的唯一方法是對其進行調試。

理想情況下,您需要將整個安裝複製到在線或本地開發區域,例如臨時站點。 從那裡,您可以開始逐步調試過程,這將根據您的站點及其附加軟件而有所不同。

不幸的是,這裡沒有快速解決方法。 您必須準備好花時間梳理您網站的每個部分,以找出任何看起來不合適的地方。 但是請記住,一個完全可操作的站點是值得的。

如果這些解決方案都不起作用怎麼辦

如果您仍在閱讀,這可能意味著我們上面概述的解決方案仍未修復 405 Method Not Allowed 錯誤。 這通常表明發生了更複雜的問題,除非您是經驗豐富的開發人員,否則您不太可能親自解決問題。

在這種情況下,您可以做的最好的事情通常是直接聯繫您的託管服務提供商。 您應該可以通過實時聊天或票務服務獲得 24/7 的客戶支持。 您也可以通過電子郵件或電話聯繫您的房東,儘管選擇實時聊天可能會提供更快的解決方案。

概括

無論您的網站經過多麼精心優化,您幾乎都不可避免地會在某個時候遇到至少一條錯誤消息。 發生這種情況時,快速解決問題很重要,這樣可以讓訪問者對您的網站感興趣。 幸運的是,儘管 405 Method Not Allowed 錯誤可能會令人困惑,但通常可以通過一些故障排除來修復它。

讓我們回顧一下您可以嘗試修復 WordPress 網站上的 405 錯誤的七種方法:

  • 檢查以確保您在地址欄中輸入了正確的 URL。
  • 回滾任何最近的 WordPress 更新,以區分是否是導致問題的原因。
  • 一次卸載任何新插件或主題。
  • 確保沒有任何意外的數據庫更改。
  • 確認服務器的配置。
  • 查看 WordPress 存儲的服務器端日誌。
  • 嘗試調試您的應用程序代碼或腳本。

您對 405 Method Not Allowed 錯誤還有其他問題嗎? 或者您是否希望我們介紹另一個常見的錯誤消息? 在下面的評論部分讓我們知道!