關於301重定向

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

其它常見的狀態碼還包括,200表示一切正常,404網頁找不到,302暫時轉向,等等。
爲什麼要做網址轉向?

除了前面介紹過的網址規範化問題外,還有很多需要做網址轉向的情形。比如,爲保護版權,你擁有不同TLD的多個域名:
company.com
company.net
company.org
company.com.cn
company.cn
等等。

很自然這些域名全部指向一個網站。如用company.com爲主域名,其它域名就可以轉向到company.com。
或者你註冊了公司全稱域名longcompanyname.com,但太長 ,你也註冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉向到主域名。

爲什麼要用301轉向?

網址轉向方法主要包括:301轉向,302轉向,JavaScript轉向,PHP/ASP/CGI轉向,META REFRESH網頁META刷新,等。302轉向可能會有URL規範化問題。其它方法都是常用的作弊手法,當然不是說不可以正當地用,方法本身沒有錯,但 被作弊者用多了,搜索引擎對這些可疑的轉向都很敏感。

當網頁A用301重定向轉到網頁B時,搜索引擎可以肯定網頁A永久的改變位置,或者說實際上不存在了,搜索引擎就會把網頁B當作唯一有效目標。好處是,第一,沒有網址規範化問題,第二,也很重要的,網頁A的PR網頁級別會傳到網頁B。

常用的重定向方式有: 301 redirect, 302 redirect 與 meta fresh

301 redirect: 301代表永久性轉移(Permanently Moved),301重定向是網頁更改地址後對搜索引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉址。

302 redirect: 302代表暫時性轉移(Temporarily Moved ),在前些年,不少Black Hat SEO曾廣泛應用這項技術作弊,目前,各大主要搜索引擎均加強了打擊力度,象Google前些年對Business.com以及近來對BMW德國網站的懲罰。即使網站客觀上不是spam,也很容易被搜尋引擎容易誤判爲spam而遭到懲罰

meta fresh: 這在2000年前比較流行,不過現在已很少見。其具體是通過網頁中的meta指令,在特定時間後重定向到新的網頁,如果延遲的時間太短(約5秒之內),會被判斷爲spam。

301 Redirect實現網頁重定向

IIS服務器實現301重定向
 

* 打開internet信息服務管理器,在欲重定向的網頁或目錄上按右鍵
* 選擇“重定向到URL”
* 在“重定向到”輸入框中輸入要跳轉到的目標網頁的URL地址
* 選中“資源的永久重定向”(切記)
* 最後點擊“應用”
 



Apache服務器實現301重定向

相比較來說,Apache實現起來要比IIS簡單多了。在Apache中,有個很重要的文件.htaccess,通過對它的設置,可以實現很多強大的功能,301重定向只是其中之一。
 


Redirect permanent / http://www.mouseo.cn/ (將目錄下內容重定向到http://www.mouseo.cn/ )
redirect permanent /index.php http://www.mouseo.cn/index.php?go=category_6(將網頁index.php重定向到http: //www.mouseo.cn/index.php?go=category_6)
 



通過合理地配置重定向參數中的正則表達式,可以實現更復雜的匹配。

PHP下的301重定向
 


<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: http://www.mouseo.cn" );
?
 



ASP下的301重定向
 


<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.mouseo.cn"
%>
 



ASP .NET下的301重定向
 


<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader ("Location","http://www.mouseo.cn");
}
</script>
 




ColdFusion下的301重定向
 


<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.new-url.com">
 



舊域名重定向到新域名
創建一個.htaccess文件,並將下面提供的代碼寫入文件內,它可以確保舊域名所有的目錄或者網頁正確的跳轉到新域名內。

記住.htaccess文件一定要放在舊網站的根目錄下,並且新網站要和舊網站保持相同的目錄結構及網頁文件

 


Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.mouseo.cn/$1 [R=301,L]
 



請將上面的www.mouseo.cn修改成你想要跳轉到的域名。
此外,我建議大家歸總舊網站的外部鏈接,並聯系相應的站點修改導入鏈鏈的URL,以指向新站點。

注意:.htaccess文件只有在使用安裝有Mod Rewrite模塊的Apache作爲WEB服務器的Linux主機上才能起作用

域名301重定向到www的二級域名

在以前的文章中我反覆提及過:www.mouseo.cn是mouseo.cn域下的一個二級域名,並對二級域名和一級目錄之間如何選擇以及網站結構優化做了一個詳細的分析,有興趣的可以讀一下兩篇文章,網站結構優化SEO中最重要。

OK,繼續域301跳轉到www二級域名的實現方式:

創建一個.htaccess文件,並將下面提供的代碼寫入文件內,它可以確保所有來自對mouseo.cn的請求都轉向到對www.mouseo.cn進行請求。記住.htaccess文件一定要放在舊網站的根目錄下,並且新網站要和舊網站保持相同的目錄結構及網頁文件

 


Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^mouseo.cn [nc]
rewriterule ^(.*)$ http://www.mouseo.cn/$1 [r=301,nc]
 

請將上面的mouseo.cn和http://www.mouseo.cn/修改成你想要跳轉到的域名。

注意:.htaccess文件只有在使用安裝有Mod Rewrite模塊的Apache作爲WEB服務器的Linux主機上才能起作用

 

301重定向檢測工具

配置完成後,一定認真檢查一下是否正確。Internet有很多類似的Server Header檢查工具,如Check Server Headers Tool - HTTP Status Codes Checker


發佈了163 篇原創文章 · 獲贊 13 · 訪問量 119萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章