通過htaccess實現301重定向常見的方法

2021-07-10 12:24:18 字數 2208 閱讀 9091

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

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

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

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

rewriteengine on

rewritecond % !^www.xzhuji.com$ [nc] 

rewriterule ^(.*)$ [l,r=301]

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

2、如果需要將網域名稱從www.xzhuji.com跳轉到xzhuji.com,則可以使用一下**:

rewriteengine on 

rewritecond % !^xzhuji.com$ [nc] 

rewriterule ^(.*)$ [l,r=301]

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

rewriteengine on 

rewritebase / 

rewritecond % !olddomain.com$ [nc] 

rewriterule ^(.*)$ [l,r=301]

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

把不帶www的網域名稱301到帶www的網域名稱

rewriteengine on

rewritecond % ^example.com$ [nc]

rewriterule ^(.*)$ [r=301,l]

「rewriteengine on」,開啟 rewrite 規則開關;

「rewritecond」指重寫的條件。後面的字串通過正規表示式進行匹配,匹配字串以 ^ 開頭並以 $ 結尾。此處 % 獲取當前主機名稱。條件為「當主機名稱為example.com」時執行下列的重寫規則。其中「[nc]」指不區分大小寫;

「rewriterule」,定義一條重寫規則。此處含義:跳轉到「接上訪問請求的**中 example.com 後面的部分。[r=301] 指重寫為 301 重定向/跳轉([r] 單指跳轉,意義等同 [r=302]),[l] 指最後一條匹配規則。

把老網域名稱301到新網域名稱

更換網域名稱時,老網域名稱的權重不能浪費了,把老網域名稱的頂級網域名稱和帶www的網域名稱都要301到新網域名稱,**如下

rewriteengine on

rewritecond % ^(www.)?old.com$ [nc,or]

rewritecond % ^new.com$ [nc]

rewriterule ^(.*)$ [r=301,l]

現在無論你訪問old.com,www.old.com,new.com都會301到www.new.com 夠完美了吧!而且所有的內頁也會跟著301,接下來至少等待2個月,期間不要刪除原網域名稱,靜等權重完全轉移!

需要注意的是,wordpress預設情況下不支援該條命令,因為wordpress的**本身就是偽靜態的,要想實現這個功能,必須先把wordpress的內頁生成html檔案。

iis 6中的.htaccess 301定向

以下規則適用於 iis 6中的 isapi_rewrite 2.x 3.x 中的httpd.ini或.htaccess

注意這兒的.htaccess不是apache中的.htaccess 規則略有不同。

rewritecond % ^sjyhome.com$

rewriterule (.*) [nc,r=301]

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

如果個別伺服器不支援htaccess ,可以用php**重定向,加入到公共入口頭部

修改 htaccess實現301重定向

一下直接編輯.htaccess的方法。注意 在設定301重定向之前務必備份相應目錄下的.htaccess檔案。1.重定向domain.com到www.domain.com 這種重定向旨在使網域名稱唯一,是 seo必須要做的,後面重定向www.domain.com到domain.com也是出於同樣的原...

通過配置 htaccess實現偽靜態

首先讓apache支援.htaccess,如果已經開啟則跳過這一步 用phpinfo 函式,搜尋 mod rewrite 若查詢到則已開啟 1.配置檔案httpd.conf 1 options indexes followsymlinks allowoverride none 改為 options ...

修改 htaccess實現301重定向的幾種例子

重定向旨在使網域名稱唯一,是 seo必須要做的,重定向www.lituanmin.com到 lituanmin.com也是出於同樣的原因,只是形式不同。開啟.htaccess檔案,加入以下規則。下面的規則是針對主網域名稱的,子網域名稱要修改 1.重定向lituanmin.com到 www.litua...