- 錯誤型別:
- HTTP錯誤
- 錯誤名稱:
- HTTP 302错误码
- 英文名稱:
- HTTP 302 Error
- 錯誤描述:
- 3xx状态代码(301、302等)是一类称为“重定向代码”的状态代码。每当服务器发回新资源而不是请求的资源时,就会返回它们。
HTTP 302程式碼是一種將網站使用者臨時重定向到不同URL的寶貴方式。但是,如果您的網站錯誤地提供302重定向,則表明出現問題。
別擔心——你可以解決這個問題——但你需要做一些故障排除。
第一步是準確瞭解HTTP 302程式碼是什麼、它們如何工作以及它們為何出現。一旦你知道了這一點,你就可以弄清楚出了什麼問題以及如何改正。
在這篇文章中,我們將告訴您有關HTTP 302錯誤的所有資訊。然後,我們將分享五個故障排除提示,以幫助您解決這些問題。
什麼是HTTP 302狀態程式碼?
302程式碼是一種特定型別的HTTP狀態程式碼。這些程式碼就像伺服器傳送到您的瀏覽器的“註釋”。
每當您單擊連結或導航到URL時,您的瀏覽器都會向網路伺服器請求相同的內容。作為回報,伺服器將相關資源(例如您嘗試訪問的頁面)連同HTTP標頭一起發回。HTTP狀態程式碼位於該標頭內。
通常,您無法在網頁的任何位置看到這些狀態程式碼。您通常只會在發生錯誤時看到它們,或者如果您安裝了使它們可見的瀏覽器擴充套件程式:
使用Chrome瀏覽器擴充套件程式顯示網頁的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瀏覽器,重定向迴圈錯誤頁面將如下所示:
Chrome瀏覽器ERR_TOO_MANY_REDIRECTS錯誤訊息
在Mozilla Firefox上,它看起來像這樣:
Firefox瀏覽器ERR_TOO_MANY_REDIRECTS錯誤訊息
以上所有問題都是由一些錯誤配置引起的。可能是外掛衝突、不正確的URL設定或錯誤配置的.htaccess檔案。
如何修復HTTP 302錯誤
接下來,我們將向您介紹五種故障排除方法,這些方法可以幫助您找出導致問題的原因並加以解決。
在我們開始之前,請確保先對您的網站進行完整備份。這樣,如果出現任何問題,您始終可以恢復到以前的版本。您可以使用WordPress備份外掛來執行此操作。
1. 確定重定向是否有效
302響應通常不是錯誤。暫時將使用者重定向到不同的頁面可能是一種有效的配置,通常不需要修復。
如果您的網站以不應釋出的302程式碼響應,或者它導致重定向迴圈,這只是一個錯誤。因此,第一步是仔細檢查哪些URL正在生成 HTTP 302程式碼,並確定重定向是否合適。
為此,您可以導航到您懷疑出現302錯誤的網站頁面,並親自檢視它們的行為是否符合預期。如果暫時不可用的頁面重定向到正確的資源,則它已被適當配置。
但是,如果頁面將您重定向到錯誤的資源,或者您的瀏覽器通過顯示ERR_TOO_MANY_REDIRECTS錯誤頁面報告重定向迴圈,則表明您的一個(或多個)重定向配置不正確。
2. 檢查你的外掛
302錯誤和重定向迴圈的最常見原因之一是外掛。
一些WordPress重定向管理器外掛和SEO工具(如Yoast SEO)為您管理您的網站重定向,並使您能夠設定重定向規則:
Yoast SEO Premium外掛重定向設定頁面
如果這些規則配置錯誤,或者兩個外掛發生衝突,可能會導致意外問題。因此,您需要檢查站點上安裝的每個相關工具。
例如,如果您使用流行的WordPress外掛301 Redirects ,您可以通過導航到Settings > 301 Redirects來檢查配置。在Redirect Rules下,您將看到您設定的所有重定向規則的列表:
301 Redirects外掛重定向規則設定頁面
檢查此處列出的所有302重定向,並確保它們都是正確的。
您還需要確保沒有以可能導致重定向迴圈的方式設定任何內容。例如,如果Page-A設定為重定向到Page-B,而Page-B也設定為重定向到Page-A,則會導致錯誤。
如果您有多個重定向管理器外掛並且您不確定是哪個導致了問題,您可以嘗試從WordPress外掛頁面一個一個地停用它們(請務必先進行備份):
WordPress管理儀表盤外掛列表
停用每個外掛後,嘗試重新訪問問題URL以檢視302錯誤是否仍然存在。
如果問題突然得到解決,您就會知道是哪個外掛導致了問題,然後您可以選擇進一步排除故障或將其從您的站點中刪除。
3. 確保您的WordPress URL設定配置正確
HTTP 302錯誤的另一個常見原因是WordPress URL設定中的錯誤配置。
要進行檢查,在你的WordPress的儀表盤導航到設定>常規。在這裡,您應該會看到一個WordPress地址 (URL)欄位和一個站點地址 (URL)欄位:
WordPress中的常規設定頁面
在大多數情況下,這兩個欄位中的URL應該匹配。確保它們相同,包括域名前的“www”部分(或缺少)。
如果它們不匹配,請更新設定,然後檢查發出HTTP 302錯誤的頁面的URL以檢視它是否已修復。
4. 檢查您的伺服器配置
錯誤配置的伺服器有時也會導致302重定向錯誤。因此,下一步是檢查您的伺服器配置。
如果您的主機使用Apache網路伺服器,您可以通過檢查您的.htaccess檔案來做到這一點。
首先,通過寶塔面板、cPanel或FTP客戶端連線到您的網站伺服器。然後導航到您站點的根目錄 – 與wp-admin和wp-content資料夾相同的位置- 並找到.htaccess檔案:
站點根目錄中的 .htaccess 檔案
如果您在此處找不到.htaccess檔案(並且您確定在Apache伺服器上),設定FileZilla顯示隱藏檔案。
接下來,在您喜歡的文字編輯器中開啟該檔案。它應該是這樣的:
.htaccess檔案中的RewriteXXX指令
RewriteCond
指令指定的網址,您希望訪問者重定向遠從,而RewriteRule指令指定要他們重定向的URL來。
RewriteCond
指令指定重定向源URL,而RewriteRule
指令指定重定向的目標連結。下面是一個例子:
下面是一個例子:
RewriteEngine on RewriteCond %{HTTP_HOST} ^website.com$ RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]
最後的標誌“[R=302]”告訴瀏覽器這是一個臨時的302重定向。
如果您在.htaccess檔案中發現與上述類似的任何RewriteXXX組合不應該存在,您可以將它們註釋掉,儲存更改,然後重新載入問題網頁以檢視它是否解決了問題。
在進行任何更改之前,請確保下載並儲存.htaccess檔案的備用副本,以防出現問題。
5. 與伺服器提供商聯絡
如果您已經嘗試了上述所有方法,但仍然遇到問題,下一步就是與您的網路託管服務商聯絡。
對超過這一點的302程式碼錯誤進行故障排除需要大量的技術知識。因此,除非您是專業開發人員,否則最好向專家尋求幫助。
小結
HTTP 302狀態程式碼是重定向網站訪問者的一種完全正常的方式。但是,它們應該只在資源頁面暫時不可用時使用。
假設您的網站錯誤地發出302程式碼或導致重定向迴圈。在這種情況下,儘快解決此問題至關重要,否則可能會對您的SEO和轉化產生負面影響。
您可以按照以下五個步驟修復您網站上的HTTP 302錯誤:
- 通過檢查發出302重定向的URL來確定重定向是否合適。
- 檢查您的外掛以確保任何重定向設定都有效。
- 確保您的WordPress URL設定配置正確。
- 通過在.htaccess檔案(僅限Apache伺服器)中查詢不正確的
RewriteXXX
指令來檢查您的伺服器配置。 - 如果問題仍然存在,請與您的網路託管服務商聯絡以獲得進一步的技術支援。
參考閱讀:
評論留言