天天看點

301和302重定向的差別,301和302重定向怎麼實作

重定向很簡單。如果你要将内容永久移動到新位置,請使用 301 重定向。如果你隻是暫時移動它,請使用 302 重定向。

但你可能會想,這很重要嗎?畢竟,使用者無法察覺 301 和 302 的差別,兩者在功能上是相同的。

答案很簡單:搜尋引擎對待 301 重定向和 302 重定向的方式不同。并且,選擇錯誤的重定向可能會導緻 SEO 問題,而這些問題往往在數月甚至數年内被忽視。

在本文中,你将了解:

-何時使用 301 和 302重定向的更多建議

-如何建立 301 和 302重定向

何時使用 301 重定向

  • 你将永久更改網頁的 URL時。
  • 你将永久遷移到新域名時。
  • 當你從HTTP 切換到 HTTPS時。
  • 你希望修複非 www / www重複内容問題時。
  • 永久合并兩個或多個頁面或網站時。
  • 你将永久更改網站的 URL 結構時。

何時使用 302 重定向

302 重定向的用例很少,但也有一些:

  • 當你想将使用者重定到正确的網站版本(基于位置/語言)時。
  • 當你要對網頁的功能或設計進行 A / B 拆分測試時。
  • 你希望在不影響舊頁面排名的情況下獲得新頁面的回報時。
  • 當你正在進行促銷,并希望暫時将通路者重定向到促銷頁面時。

毫無疑問,還有其他用例,但是它們往往是非常具體和個性化的。金科玉律是,如果你打算在短時間後恢複舊頁面,則隻應使用 302 重定向。

如何建立重定向

你可以用多種方法建立 301 和 302 重定向,但最常見的方法是編輯網站的 .htaccess 檔案。你可以在網站的根目錄中找到此檔案。

301和302重定向的差別,301和302重定向怎麼實作

小提示.

 如果你在站點的根目錄中沒有看到此檔案,說明你的伺服器沒有在 Apache 上運作,或者你沒有此檔案。你可以使用此工具檢查正在運作的伺服器類型。如果伺服器類型是 Apache,解決方法就是使用 Notepad 或 TextEdit 建立一個 .htaccess 檔案并将其上載到根伺服器。如果你的伺服器類型是 Nginx,請閱讀這篇文章。如果你運作的是 Windows 或IIS,請閱讀這篇文章。

如果你使用的是 WordPress,一個比較簡單的選擇是使用免費的SEO插件來建立重定向。RankMath内置了此功能,但是這個插件也可以完成這項工作。

如何建立 301 重定向

如果要建立從一個 URL 到另一個 URL 的 301 重定向,請将以下内容添加到你的 .htaccess 檔案中:

Redirect 301 /old-page.html /new-page.html       

你也可以使用 RankMath 或“重定向”插件來執行此操作。隻需選擇所需的重定向類型,然後添加源 URL 和目标 URL。

301和302重定向的差別,301和302重定向怎麼實作

如果你要重定向整個網站,請将以下内容添加到你的 .htaccess 檔案中:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=301,NC]
      

你需要保持你的舊主機處于活動狀态,才能使用 .htaccess 重定向你的網站,這可能會很昂貴。是以,通常最好通過 DNS 重定向。大多數注冊商都允許你為此選擇 301 或 302 重定向。如果你使用的是 Google 域,隻需點選 Website(網站)> forwarddomain(轉發域),然後輸入新域并選擇“ Permanent redirect(永久重定向)”。

301和302重定向的差別,301和302重定向怎麼實作

你可以在我們的 301 重定向的完整指南中了解如何在更多情況下建立 301 重定向(例如,從非 www 到 www,從HTTP到HTTPS)。

如何建立 302 重定向

如果要建立從一個 URL 到另一個 URL 的 302 重定向,請将以下内容添加到你的 .htaccess 檔案中:

Redirect 302 /old-page.html /new-page.html      

你也可以使用 RankMath 或 WordPress 中的重定向插件來執行此操作:

301和302重定向的差別,301和302重定向怎麼實作

如果你要重定向整個網站,請使用以下代碼:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=302,NC]      

隻是你也許不想使用 302 将一個站點重定向到另一個站點。大多數域更改都是永久性的,是以你需要使用 301。從 HTTP 重定向到 HTTPS,或者從非 www 重定向到 www(反之亦然),情況也是一樣的。

繼續閱讀