Home 教學文章 網站改版更換域名 -301重定向使新網站流量與pr值不丟

網站改版更換域名 -301重定向使新網站流量與pr值不丟

by admin

什麼是301永久重定向?所謂301永久重定向(或叫301轉向,301跳轉),是指當用戶或搜索引擎向網站服務器發出瀏覽請求時,服務器返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。

301永久重定向有何作用?

從301永久重定向的定義可以看出,它是一種狀態碼,會向搜索引擎或瀏覽器發出信息:本網頁的地址已經永久改變了。並會把新的地址傳達過去。而相應的就是:我們輸入網址A訪問,顯示出來的是轉向後的網址B,轉向過程極短以至無法察覺。所以,301永久重定向對於訪客來說,作用就是將他要訪問的而實際上已不存在的網址轉到另一個網址,避免出現「此網頁無法顯示」之類的錯誤;對於搜索引擎優化|SEO來說,給搜索引擎一個友好的信息,告訴它此頁面已永久重定向,避免搜索引擎找不到頁面。這對於網站的SEO是很重要的,因為301永久重定向對SEO無任何不好的影響!而且網頁A的關鍵詞排名和PR級別都會傳達給網頁B!

301永久重定向在哪些情況下適用?
一、當出於需要刪除網站中的某些目錄時,可以通過301永久重定向將此目錄重定向到網站首頁。
二、網站更換域名時,通過301永久重定向將舊域名重定向至新域名,挽回流量損失和SEO。
三、想要多個域名同時指向同一網站時,通過301永久重定向可以實現。一般的虛擬主機後台提供將soft8.tw和www.soft8.tw等多個域名綁定到同一網站的功能,但這樣對收錄可能有影響:《綁定多個域名對搜索引擎收錄的影響》。而用301永久重定向就沒有這樣的擔憂。
四、實現網址規範化。
有以下4個網址:
http://soft8.tw
http://www.soft8.tw
http://soft8.tw/index.html
http://www.soft8.tw/index.html
查詢上面4個網址的PR值,或用site:soft8.tw查看網站首頁,如果結果一致,說明網站沒有規範化問題;如果不一致,表明有規範化問題。出現此問題時,可以將上面4個網址通過301永久重定向指向同一個網址http://www.soft8.tw,解決了。

如何實現301永久重定向?
一、通過代碼實現301永久重定向。
HTML網頁無法實現301永久重定向。因為HTML文件一被讀取,就已經返回表示一切正常的200狀態碼了。
ASP或PHP網頁。比如,你要刪除某個目錄A,想實現訪問http://www.soft8.tw/A/時跳轉到http://www.soft8.tw,可以:

ASP:在目錄A下新建index.asp,寫入代碼:
[php]


[/php]
那麼訪問http://www.soft8.tw/A/其實就是訪問http://www.soft8.tw/A/index.asp,就會自動跳轉到http://www.soft8.tw。

PHP:在目錄A下新建index.php,寫入代碼:
[php]
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location:http://www.soft8.tw”);
exit();
?>
[/php]
訪問http://www.soft8.tw/A/其實就是訪問http://www.soft8.tw/A/index.php,就會自動跳轉到http://www.soft8.tw。

注意代碼不要寫成一行,不然會出錯!直接複製上面的代碼使用可能會因為字體的原因導致出錯,所以出錯時請自己寫一遍!

有個技巧:如果http://www.soft8.tw網站目錄下同時存在index.html和index.asp,設置文檔優先級html>asp時,輸入http://www.soft8.tw訪問到的是http://www.soft8.tw/index.html;設置文檔優先級asp>html時,訪問的是http://www.soft8.tw/index.asp.

二、虛擬主機301永久重定向
如果你的網站空間是使用虛擬主機或合租空間,無法對WEB服務器(IIS、Apache)進行設置,可以利用子目錄綁定實現301永久重定向。首先建立子目錄A,然後把你要進行重定向的域名A綁到這個目錄,在這個子目錄裡面建立一個index.asp或index.php文件,寫入上面介紹的代碼。那麼訪問子目錄A下的index.asp或index.php也即訪問域名A,就會跳轉到綁定在其他子目錄上的域名B。

三、IIS實現301永久重定向。如果你有自己的服務器,有對IIS或Apache管理的權限,那麼就可通過對IIS或Apache進行設置來實現301永久重定向。
進入IIS管理窗口,右鍵點擊網站名或某個目錄或某個文件,在彈出菜單選擇「屬性」,在「目錄」或「主目錄」窗口下選中「重定向到URL(U)」,輸入將要定向到的網址,並勾選「資源的永久重定向」,確定即可。

四、Apache實現301永久重定向。
Apache中的分佈式配置文件「.htaccess」提供了針對每個目錄改變配置的方法,即在一個特定的目錄中放置一個包含指令的文件,其中的指令作用於此目錄及其所有子目錄。比如,在目錄A下放.htaccess,寫入代碼:
[php]
redirect 301 /A http://www.soft8.tw[/php] 或[php]
redirect permanent /A http://www.soft8.tw[/php]

訪問http://www.soft8.tw/A/及其子目錄時即可重定向到http://www.soft8.tw。若將整個網站或域名重定向到另一網站或域名,則可寫入[php]redirect 301 / http://www.soft8.tw[/php],將.htaccess放在根目錄即可。

如果要實現「批量重定向」,比如,把http://soft8.tw/a.html重定向到http://www.soft8.tw/a.html,
把http://soft8.tw/b.html重定向到http://www.soft8.tw/b.html。。。等等,即把http://soft8.tw下的所有文件重定向到http://www.soft8.tw下的同名文件,則要用到mod_rewrite模塊。在.htaccess中寫入:

[php]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^soft8.tw [NC]
RewriteRule ^(.*)$ http://www.soft8.tw/$1 [L,R=301]
[/php]
即可。

或將綁定的其他多個域名重定向到主域名:
[php]
RewriteEngine on
RewriteCond % ^soft8.tw$ [OR]
RewriteCond % ^bbs.soft8.tw$ [OR]
RewriteRule ^(.*)$ http://www.soft8.tw/ [R=301,L]
[/php]

related posts

3 comments

阿浩 2012 年 10 月 19 日 - 9:12 下午

請問如果將舊網址 用301永久重定向方法轉向新網址時 會不會都只能轉向到首頁呢?

例如: 我的舊網址是 http://www.123.com/ 新網址是 http://www.456.com/
假設網友從舊網址 http://www.123.com/a/a.asp 進來後 會不會轉成www.456.com/a/a.asp 這樣呢?? 還是說只能統一轉到首頁呢???

Reply
hightfly 2012 年 10 月 19 日 - 9:53 下午

會的,會轉成www.456.com/a/a.asp

Reply
recycle 2011 年 9 月 9 日 - 8:48 上午

good sharing..

Reply

Leave a Comment