通過htaccess實現301重定向?

在很多情況下,網站都需要進行301或302重定向,其中一個為永久重定向,一個為臨時重定向。比如網站整個更換了域名,比如網站結構或目錄發生了移動,比如需要將某個域名上的檔案遷移到另外的域上等等。

有時候這種重定向對SEO或者PR值的傳遞是非常有效的。一般我們有幾種途徑製作一個htaccess檔案,比如自己手動編輯,好處是非常靈活、功能強大,但壞處是很容易出錯,我們強烈建議用本站的工具自動生成這個檔案;另一種途徑是通過空間裡的控制面板進行自動編輯,這種方法比較死板,但不會因為人為原因出錯,除非設定錯了。

工具/原料

在很多情況下,網站都需要進行301或302重定向,其中一個為永久重定向,一個為臨時重定向。比如網站整個更換了域名,比如網站結構或目錄發生了移動,比如需要將某個域名上的檔案遷移到另外的域上等等。

有時候這種重定向對SEO或者PR值的傳遞是非常有效的。一般我們有幾種途徑製作一個htaccess檔案,比如自己手動編輯,好處是非常靈活、功能強大,但壞處是很容易出錯,我們強烈建議用本站的工具自動生成這個檔案;另一種途徑是通過空間裡的控制面板進行自動編輯,這種方法比較死板,但不會因為人為原因出錯,除非設定錯了。

步驟/方法

比如CPanel控制面板中,在Domain>Redirects裡面,直接選擇相應的選項即可。下面我們來詳細討論一下如何手動編輯這個htaccess檔案:

務必注意:在編輯之前請備份原來的htaccess檔案,以免造成損失。

1、出於SEO考慮,將wangqu.org重定向至www.wangqu.org。本站就使用了這種重定向的方法避免頁面權重分散。

一旦選擇了帶WWW的為主域名,今後就不要隨意更改,方法如下:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.wangqu.org$ [NC]

RewriteRule ^(.*)$ http://www.wangqu.org/$1 [L,R=301]

上面這一句話是從反面來寫的:如果域名不是帶WWW的,就統一301跳轉到帶WWW的域名中去

2、如果需要將域名從www.wangqu.org跳轉到wangqu.org,則可以使用一下程式碼:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^wangqu.org$ [NC]

RewriteRule ^(.*)$ http://wangqu.org/$1 [L,R=301]

3、如果需要變更域名,即將老域名換成全新的域名,但是網頁內容與結構不變,則可以使用以下程式碼來實現:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

RewriteRule ^(.*)$ [L,R=301]

如果是帶WWW的域名間跳轉,則以此類推,在域名前加上WWW即可。

注意事項

一般來說,以上這些是網站建設過程中非常常用的幾行程式碼。這些程式碼對Google非常適用,Google很快就會按照你的意願將收錄的網址改變過來,並且如果換了域名,還能保留以前域名的PR值。

網站, 檔案, 域名, 重定向,
相關問題答案