.htaccess實現301重定向跳轉的八種方法
301重定向跳轉功能在建站過程中非常重要,從網站建設到目錄優化,避免不了對網站目錄進行更改,在這種情況下用戶的收藏夾裏面和搜索引擎裏面可能保存的還是老的地址,在打開這些鏈接時會無法顯示頁面出現404的錯誤,造成很差的用戶體驗並失去了很多流量,今天筆者就給大家分享一下實現301重定向的七種方法。
從搜索引擎優化的角度來看,目前301重定向是網站目錄更改後重新定向最爲可行的一種辦法。在你更改地址使用了301重定向後,搜索引擎只會對新地址進行索引,同時會把舊地址下原來收錄的鏈接轉移到新地址下,而上述的這些操作並不會影響到網站在搜索引擎的排名。
下面開始示例
1、重定向domain.com到www.domain.com
這種重定向非常常見,最終目的是實現域名的唯一性,也是seo必須要做的。實現方法是在.htaccess文件中加入以下規則:
代碼如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
注:使用這種301重定向方式後,當你打開類似domain.com的網址後會自動定向到www.domain.com。
2、重定向www.domain.com 到 domain.com
這種操作剛好和上面的域名顯示是相反的,規則如下:
代碼如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
注:使用此301重定向方式,當你打開類似www.domain.com的網址後會自動定向到domain.com。
3、重定向ddomain.com 到 newdomain.com
這種操作經常用於更換域名時用到,很多站長因爲種種原因可能要爲站點更換域名,此時多采用以下規則來實現重新定向:
代碼如下:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
注:當用戶打開老的域名後,會自動重定向到新的域名下的站點,此時域名顯示格式爲不帶www.的格式。
4、重定向Olddomain.com 到 www.newdomain.com
這種操作是基於第三種方式的改良,只是顯示網址顯示爲帶www.的那種。
代碼如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
注:當用戶打開老的域名後,會自動重定向到新的域名下的站點,並且網址顯示格式爲帶www.的格式。
5、重定向domain.com/File/File.Php 到 otherdomain.com/otherfile/other.php
這種操作針對於更改一個域名的同時,網站目錄路徑也發生變化的情況下使用,規則如下:
代碼如下:
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
注:當用戶訪問老的域名路徑時,會重新定向到新的域名新的路徑下。
6、將A頁面301跳轉到B頁面
1Redirect 301 /a.html http://www.itbulu.com/b.html
7、IIS服務器下實現301重定向
具體方法如下:打開internet信息服務管理器,在欲重定向的網頁或目錄上按右鍵,選中“重定向到URL”, 在對話框中輸入目標頁面的地址,切記要選中“資源的永久重定向”最後點擊“應用”即可。
注:再次提醒你,一定要選中“資源的永久重定向”。
8、Apache服務器實現301重定向
在Apache服務器實現301重定向的方法園子在以前的文章中提到過,只需要在.htaccess文件中加入以下規則:
代碼如下:
1Redirect /舊目錄/舊文檔名 新文檔的地址
也可能是:
代碼如下:
1Redirect /olddirectory http://www.newsite.com/newdirectory
注:一定要注意書寫格式,第一種是同一域名下將一個文檔定向到新的目錄地址,第二種是把老目錄定義到新域名的新目錄下。