Home >> Blog >> 如何修復 HTTP 302 錯誤(5 種方法)
如何修復 HTTP 302 錯誤(5 種方法)
HTTP 302 代碼是一種將網站用戶臨時重定向到不同 URL 的有價值的方法。但是,如果您的網站錯誤地提供了 302 重定向,則表明存在問題。
別擔心——你可以解決這個問題——但你需要做一些故障排除。
第一步是準確了解 HTTP 302 代碼是什麼、它們的工作原理以及它們出現的原因。一旦你知道了這一點,你就可以弄清楚哪裡出了問題以及如何改正它。
在本文中,我們將告訴您有關 HTTP 302 錯誤的所有信息。然後我們將分享五個故障排除技巧來幫助您修復它們。
讓我們開始吧!
查看我們的 302 HTTP 狀態代碼視頻指南
什麼是 HTTP 302 狀態代碼?
302 代碼是一種特定類型的HTTP 狀態代碼。這些代碼就像服務器發送給您的瀏覽器的“註釋”。
每當您單擊鏈接或導航到 URL時,您的瀏覽器都會向網絡服務器請求相同的內容。作為回報,服務器會發回相關資源(例如您嘗試訪問的頁面)以及 HTTP 標頭。HTTP 狀態代碼在該標頭內。
通常,您無法在網頁的任何位置看到這些狀態代碼。您通常只會在發生錯誤時看到它們,或者如果您安裝了使它們可見的瀏覽器擴展:
3xx 狀態代碼(301、302 等)是一類稱為“重定向代碼”的狀態代碼。只要服務器發回新資源而不是請求的資源,它們就會返回。
換句話說,當您打算訪問的網站頁面將您重定向到另一個頁面時,它們就會顯示出來。
代碼 301 和代碼 302 之間的關鍵區別在於前者用於永久重定向,而後者用於臨時重定向。
301 重定向也傳遞“鏈接汁”,而 302 則不傳遞。這對搜索引擎優化 (SEO)有重大影響。
302 重定向如何工作
當您為網站上暫時不可用的頁面設置 302 重定向時,當用戶訪問該頁面時,您的網絡服務器將使用特殊的Location 標頭響應訪問者的瀏覽器。此標頭將指示瀏覽器應將用戶重定向到的新 URL。
例如,假設用戶在瀏覽器 URL 欄中鍵入blog.example.com,但網站配置為將其重定向到blogging.example.com。
服務器響應將包括 302 狀態代碼和Location: blogging.example.com標頭。此設置告訴用戶的瀏覽器將此請求重定向到新的 URL。
當然,所有這些都是在幕後自動發生的。用戶不應該能夠看到任何這些播放。相反,他們的瀏覽器應該自動將他們帶到新資源。
為什麼會發生 HTTP 302 錯誤
如果您的網站配置有誤,可能會導致錯誤發出 302 代碼。如果發生這種情況,您可能會遇到以下問題:
- 您網站上的一個頁面,在不應該將訪問者重定向到其他地方
- 您網站上的一個頁面將您的訪問者重定向到錯誤的資源
- ERR_TOO_MANY_REDIRECTS錯誤(也稱為“重定向循環”)
這些問題中的最後一個是唯一會顯示實際錯誤頁面的問題。如果您使用的是 Chrome 瀏覽器,重定向循環錯誤頁面將如下所示:
在 Mozilla Firefox 上,它看起來像這樣:
以上所有問題都是由於某些錯誤配置引起的。這可能是插件衝突、不正確的URL 設置或錯誤配置的.htaccess文件。
如何修復 HTTP 302 錯誤(5 種方法)
接下來,我們將向您介紹五種故障排除方法,這些方法可以幫助您找出導致問題的原因並加以解決。
在我們開始之前,請確保先對您的網站進行完整備份。這樣,如果出現任何問題,您可以隨時恢復到以前的版本。您可以使用 WordPress 插件來執行此操作。
1. 判斷重定向是否有效
302 響應通常不是錯誤。暫時將用戶重定向到不同的頁面可能是一個有效的配置,通常不需要修復。
如果您的網站使用不應發出的 302 代碼進行響應,或者如果它導致重定向循環,則這只是一個錯誤。因此,第一步是仔細檢查哪些 URL 正在生成 HTTP 302 代碼,並確定重定向是否合適。
為此,您可以導航到您懷疑發出 302 錯誤的網站頁面,並親自查看它們是否按預期運行。如果暫時不可用的頁面重定向到正確的資源,則說明它已正確配置。
但是,如果頁面將您重定向到錯誤的資源,或者您的瀏覽器通過顯示 ERR_TOO_MANY_REDIRECTS 錯誤頁面來報告重定向循環,則表明您的一個(或多個)重定向配置不正確。
2. 檢查你的插件
302 錯誤和重定向循環的最常見原因之一是插件。
一些WordPress 重定向管理器插件和 SEO 工具(如Yoast SEO)為您管理您的網站重定向,並使您能夠設置重定向規則:
如果這些規則配置錯誤,或者兩個插件發生衝突,可能會導致意外問題。因此,您需要檢查站點上安裝的每個相關工具。
例如,如果您使用的是流行的301 重定向WordPress 插件,您可以通過導航到設置> 301 重定向來檢查配置。在Redirect Rules下,您會看到已設置的所有重定向規則的列表:
檢查此處列出的所有 302 重定向,並確保它們都是正確的。
您還需要確保沒有以可能導致重定向循環的方式設置任何內容。例如,如果Page-A設置為重定向到Page-B,但Page-B也設置為重定向到Page-A,這將導致錯誤。
如果您有多個重定向管理器插件並且您不確定是哪個引起了問題,您可以嘗試從 WordPress插件頁面一個一個地停用它們(請務必先進行備份):
停用每個插件後,嘗試重新訪問問題 URL 以查看 302 錯誤是否仍然存在。
如果問題突然得到解決,您就會知道是哪個插件導致了問題,然後您可以選擇進一步排除故障或將其從您的站點中刪除。
3. 確保您的 WordPress URL 設置配置正確
HTTP 302 錯誤的另一個常見原因是 WordPress URL 設置中的錯誤配置。
要檢查這一點,請導航到WordPress 儀表板中的設置>常規。在這裡,您應該看到一個WordPress 地址 (URL)字段和一個站點地址 (URL)字段:
在大多數情況下,這兩個字段中的 URL 應該匹配。確保它們相同,包括域名前的“www”部分(或沒有)。
與我們世界一流的支持團隊一起體驗卓越的 WordPress 託管支持!與支持我們財富 500 強客戶的同一個團隊聊天。查看我們的計劃
如果它們不匹配,請更新設置,然後檢查發出 HTTP 302 錯誤的頁面的 URL 以查看它是否已修復。
4. 檢查你的服務器配置
錯誤配置的服務器有時也會導致 302 重定向錯誤。因此,下一步是檢查您的服務器配置。
如果您的主機使用Apache 網絡服務器,您可以通過檢查.htaccess文件來執行此操作。
信息
此步驟不適用於託管在Nginx 服務器上的網站。如果您的主機像 Kinsta 一樣使用 Nginx 服務器,您可以繼續進行下一個故障排除步驟。
首先,通過控制面板(如cPanel或FTP 客戶端)連接到您站點的服務器。然後導航到您站點的根目錄——與wp-admin和wp-content文件夾相同的位置——並找到.htaccess文件:
如果您在這裡找不到.htaccess文件(並且您確定在 Apache 服務器上),您可能需要告訴 FileZilla 顯示隱藏文件,然後它才會出現在文件列表中。
接下來,在您喜歡的文本編輯器中打開該文件。它應該看起來像這樣:
現在,我們要查找RewriteXXX指令(上面突出顯示的元素)。不用太技術化,RewriteCond指令RewriteRule用於執行從一個 URL 到另一個 URL 的重定向。
該RewriteCond指令指定要將訪問者重定向離開的URL,而 RewriteRule 指令指定要將訪問者重定向到的URL。這是一個例子:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]
最後的標誌“[R=302]”告訴瀏覽器這是一個臨時的 302 重定向。
如果您發現.htaccess文件中有任何與上述類似的 RewriteXXX 組合不應該存在,您可以將它們註釋掉,保存更改,然後重新加載問題網頁以查看它是否解決了問題。
只需確保在進行任何更改之前下載並保存.htaccess文件的備用副本,以防出現問題。
5. 與您的網站託管商交談
如果您已經嘗試了上述所有方法但仍然遇到問題,下一步就是與您的網絡託管服務商聯繫。
解決超出這一點的 302 代碼錯誤需要大量的技術訣竅。因此,除非您是專業開發人員,否則最好從專家那裡獲得幫助。
在 Kinsta,我們認真對待支持。我們的專家團隊隨時準備幫助您解決此類問題:
https://kinsta.com/wp-content/uploads/2021/10/kinsta-support-page.png
我們全天候 24/7 可用。您所要做的就是登錄您的 MyKinsta 帳戶並通過實時聊天與我們聯繫,以便與可以實時提供幫助的支持工程師聯繫。
概括
HTTP 302 狀態代碼是重定向網站訪問者的一種完全正常的方式。但是,它們應該只在資源頁面暫時不可用時使用。
假設您的網站錯誤地發出 302 代碼或導致重定向循環。在這種情況下,盡快解決此問題至關重要,否則它可能會對您的SEO和轉化產生負面影響。
您可以按照以下五個步驟修復網站上的 HTTP 302 錯誤:
- 通過檢查發出 302 重定向的 URL 來確定重定向是否合適。
- 檢查您的插件以確保任何重定向設置都有效。
- 確保您的 WordPress URL 設置配置正確。
- 通過在.htaccessRewriteXXX文件中查找不正確的指令來檢查您的服務器配置(僅限 Apache 服務器)。
- 如果問題仍然存在,請聯繫您的虛擬主機以獲得進一步的技術支持。
您對 HTTP 302 錯誤還有什麼疑問嗎?請在評價部分留下您的意見。
通過以下方式節省時間、成本並最大限度地提高站點性能:
- WordPress 託管專家的即時幫助,24/7。
- Cloudflare 企業集成。
- 全球觀眾覆蓋全球 35 個數據中心。
- 使用我們內置的應用程序性能監控進行優化。
所有這些以及更多,都在一個沒有長期合同、協助遷移和 30 天退款保證的計劃中。查看我們的計劃或與銷售人員交談以找到適合您的計劃。