301重定向-頁面永久性移走是一種非常重要的“自動轉(zhuǎn)向”技術(shù)。網(wǎng)址重定向最為可行的一種辦法。當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址。

域名的重定向 路由選擇的變化也是對數(shù)據(jù)報文經(jīng)由路徑的一種重定向。
在我們網(wǎng)站建設(shè)中,時常會遇到需要網(wǎng)頁重定向的情況:像網(wǎng)站調(diào)整,改變了網(wǎng)站的目錄結(jié)構(gòu),網(wǎng)頁被移到一個新地址?;蛘呔W(wǎng)頁擴(kuò)展名改變,如因應(yīng)用需要把.php改成.Html或.shtml,在這些情況下,如果不做重定向,則用戶收藏夾或搜索引擎數(shù)據(jù)庫中舊地址只能讓訪問客戶得到一個404頁面錯誤信息,訪問流量白白喪失。又比如某些注冊了多個域名的網(wǎng)站,也需要通過重定向讓訪問這些域名的用戶自動跳轉(zhuǎn)到主站點,等等。
常用的重定向方式有: 301 redirect, 302 redirect 與 meta fresh:
301 redirect::301代表永久性轉(zhuǎn)移(Permanently Moved),301重定向是網(wǎng)頁更改地址后對搜索引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉(zhuǎn)址。
302 redirect::302代表暫時性轉(zhuǎn)移(Temporarily Moved ),在前些年,不少Black Hat SEO曾廣泛應(yīng)用這項技術(shù)作弊。目前,各大主要搜索引擎均加強(qiáng)了打擊力度,像Google前些年對business.com以及近來對BMW德國網(wǎng)站的懲罰。即使網(wǎng)站客觀上不是spam,也很容易被搜尋引擎誤判為spam而遭到懲罰。
meta fresh: 這在2000年前比較流行,不過現(xiàn)在已很少見。它具體是通過網(wǎng)頁中的meta指令,在特定時間后重定向到新的網(wǎng)頁,如果延遲的時間太短(約5秒之內(nèi)),會被判斷為spam。
IIS服務(wù)器實現(xiàn)301重定向
打開internet信息服務(wù)管理器,在欲重定向的網(wǎng)頁或目錄上按右鍵 ,選擇“重定向到URL”,
此處以重定向到百度為例
* 在“重定向到”輸入框中輸入要跳轉(zhuǎn)到的目標(biāo)網(wǎng)頁的URL地址
* 選中“資源的永久重定向”(切記)
* 最后點擊“應(yīng)用”
Apache服務(wù)器實現(xiàn)301重定向
相比較來說,Apache實現(xiàn)起來要比IIS簡單多了。在Apache中,有個很重要的文件.htaccess,通過對它的設(shè)置,可以實現(xiàn)很多強(qiáng)大的功能,301重定向只是其中之一。
redirect permanent /index.php http://www.dx
B2B.com/index.php?go=category_6(將網(wǎng)頁index.php重定向到http://www.cnliaoxiang.com.cn/index.php?go=category_6)
通過合理地配置重定向參數(shù)中的正則表達(dá)式,可以實現(xiàn)更復(fù)雜的匹配。有興趣的朋友可參考本站Apache手冊。
PHP下的301重定向
<html>
<head>
<title>HTTP/1.1 301 Moved Permanently</title>
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: www.cnliaoxiang.com.cn" );
?>
</head>
<body>
HTTP/1.1 301 Moved Permanently
</body>
</html>[2]
ASP下的301重定向
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.cnliaoxiang.com.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.cnliaoxiang.com.cn");
}
</script>
ColdFusion下的301重定向
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.cnliaoxiang.com.cn"> 舊域名重定向到新域名
創(chuàng)建一個.htaccess文件,并將下面提供的代碼寫入文件內(nèi),它可以確保舊域名所有的目錄或者網(wǎng)頁正確的跳轉(zhuǎn)到新域名內(nèi)。
記住.htaccess文件一定要放在舊網(wǎng)站的根目錄下,并且新網(wǎng)站要和舊網(wǎng)站保持相同的目錄結(jié)構(gòu)及網(wǎng)頁文件。
Options +FollowSymLinks RewriteEngine on
RewriteRule (.*) http://www.cnliaoxiang.com.cn/$1 [R=301,L]
請將上面的www.cnliaoxiang.com.cn修改成你想要跳轉(zhuǎn)到的域名。
此外,我建議大家歸總舊網(wǎng)站的外部鏈接,并聯(lián)系相應(yīng)的站點修改導(dǎo)入鏈鏈的URL,以指向新站點。
注意:.htaccess文件只有在使用安裝有Mod Rewrite模塊的Apache作為WEB服務(wù)器的Linux主機(jī)上才能起作用。
域名301重定向到www的二級域名
首先要知道,www.cnliaoxiang.com.cn是domain.com域下的一個二級域名。
301跳轉(zhuǎn)到www二級域的實現(xiàn)方式:
創(chuàng)建一個.htaccess文件,并將下面提供的代碼寫入文件內(nèi),它可以確保所有來自對domain.com的請求都轉(zhuǎn)向到對www.cnliaoxiang.com.cn進(jìn)行請求。記住.htaccess文件一定要放在舊網(wǎng)站的根目錄下,并且新網(wǎng)站要和舊網(wǎng)站保持相同的目錄結(jié)構(gòu)及網(wǎng)頁文件。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.cnliaoxiang.com.cn/$1 [L,R=301]
請將上面的domain.com和www.cnliaoxiang.com.cn修改成你想要跳轉(zhuǎn)到的域名。
注意:.htaccess文件只有在使用安裝有Mod Rewrite模塊的Apache作為WEB服務(wù)器的Linux主機(jī)上才能起作用。
ASP下使用web.config來實現(xiàn)301重定向
如果網(wǎng)站根目錄沒有web.config就新建一個文本文檔,保存成web.config即可,代碼如下:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^dxb2b.com$" />
</conditions>
<action type="Redirect" url="http://www.cnliaoxiang.com.cn/{R:0}"
redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
將此web.config上傳到網(wǎng)站根目錄即可。別忘了把上面的dxb2b.com換成你的域名哦!
前提條件是:window主機(jī)的IIS版本必須是7.0或以上的。
在博客中設(shè)置301的方法
這里以Z-Blog為例詳細(xì)介紹一下:
1. 復(fù)制如下代碼,將代碼中“###.com”改成你自己的網(wǎng)址。
if request.ServerVariables("SERVER_NAME")="###.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.###.com"
Response.End
end if
2. 進(jìn)入Z-Blog后臺,打開“文件管理”界面。
3. 找到并打開網(wǎng)站根目錄下的 default.asp 文件。
4. 將以上代碼加進(jìn) default.asp 在下圖中紅框所示位置。
5. 最后確定無誤點擊——提交——保存。
301重定向是在搜索引擎優(yōu)化中一個很常用的操作,可以幫助我們轉(zhuǎn)移域名的權(quán)重。但是在做301重定向的時候由于服務(wù)器系統(tǒng)、網(wǎng)站程序語言、域名和鏈接地址的不同,使用的方法也不同。這個時候我們就要使用301重定向檢測工具,來檢測我們的301重定向是否成功。
HttpWatch檢測工具
HttpWatch是強(qiáng)大的網(wǎng)頁數(shù)據(jù)分析工具,集成在Internet Explorer工具欄。包括網(wǎng)頁摘要、Cookies管理、緩存管理、消息頭發(fā)送/接受、字符查詢、報告輸出、POST 數(shù)據(jù)和目錄管理功能。
在IE工具欄中 查看——瀏覽器欄——httpwatch 打開,也可以使用快捷鍵shift+F2打開。
狀態(tài)為:301狀態(tài) 從demo1.php 成功301跳轉(zhuǎn)到demo9.php ,驗證301重定向設(shè)置成功。
Chinaz站長工具
chinaz站長工具是業(yè)內(nèi)有名的站長工具。其功能非常豐富,點擊http狀態(tài)碼查詢,輸入網(wǎng)址,可以查詢出網(wǎng)站的http狀態(tài)碼,確保是301而不是302.