濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 301永久重定向講解和設(shè)置方法

301永久重定向講解和設(shè)置方法

熱門(mén)標(biāo)簽:濱州中小企業(yè)外呼系統(tǒng)商家 西安銷售外呼系統(tǒng)加盟 ai智能電銷機(jī)器人軟件 如何制作好看的地圖標(biāo)注 成都企業(yè)外呼系統(tǒng)價(jià)格 煙臺(tái)市電話機(jī)器人 售后服務(wù)好的外呼系統(tǒng) 申請(qǐng)400電話流程品牌有哪些 長(zhǎng)春外呼系統(tǒng)定制

在HTTP協(xié)議中,使用三個(gè)數(shù)字代表HTTP協(xié)議狀態(tài)。

HTTP狀態(tài)代碼是在Web服務(wù)器返回?cái)?shù)據(jù)的第一行實(shí)現(xiàn)的,比如你訪問(wèn)http://www.baidu.com/,百度的服務(wù)器會(huì)返回的數(shù)據(jù)第一行是:HTTP/1.1 200 OK

這里就說(shuō)明百度返回的狀態(tài)是200,協(xié)議是HTTP/1.1,狀態(tài)描述是OK。

大家都知道g.cn這個(gè)google的網(wǎng)址,這個(gè)網(wǎng)址會(huì)轉(zhuǎn)跳到http://www.google.cn上,當(dāng)我們?cè)L問(wèn)g.cn的時(shí)候第一行返回的是:HTTP/1.1 301 Moved Permanently

說(shuō)明狀態(tài)是301,狀態(tài)描述是Moved Permanently,直譯為“永久轉(zhuǎn)移”,這里g.cn用到的就是永久重定向。

大家會(huì)問(wèn),怎么看到這個(gè)“HTTP/1.1 200 OK”這樣的狀態(tài),這里需要一個(gè)能夠監(jiān)控IE瀏覽器通訊的程序,我用的是HttpWatch 4.0 Professional 專業(yè)版,下載地址“http://link.silmoon.net/r/down_s4_11/HttpWatch.rar”,安裝后從[查看(V)]-》[瀏覽器欄(E)]找到HttpWatch,之后會(huì)看到這個(gè)工具已經(jīng)顯示出來(lái)了,在此不多說(shuō)這個(gè)程序怎么使用了。

簡(jiǎn)單介紹幾個(gè)狀態(tài)代碼(更多信息可參考)

在1XX中,是Informational和實(shí)驗(yàn)性使用的協(xié)議,幾乎根本不用,就此忽略。

200 OK:表示請(qǐng)求已經(jīng)接受,客戶所需要的信息已經(jīng)成功的返回給客戶。

206 Partial Content:部分內(nèi)容,如果客戶端請(qǐng)求的是較大的資源,比如下載,MP3,會(huì)被分段傳送。此狀態(tài)表示這是其中的一部分。

300 Multiple Choices:可選重定向,表示客戶請(qǐng)求的資源已經(jīng)被轉(zhuǎn)向到另外的地址了,但是沒(méi)有說(shuō)明是否是永久重定向還是臨時(shí)重定向。

301 Moved Permanently:永久重定向,同上,但是這個(gè)狀態(tài)會(huì)告知客戶請(qǐng)求的資源已經(jīng)永久性的存在在新的重定向的URL上。

302 Moved Temporatily:臨時(shí)重定向,在HTTP1.1中狀態(tài)描述是Found,這個(gè)和300一樣,但是說(shuō)明請(qǐng)求的資源臨時(shí)被轉(zhuǎn)移到新的URL上,在以后可能會(huì)再次變動(dòng)或者此URL會(huì)正常請(qǐng)求客戶的連接。

400 Bad Request:壞的請(qǐng)求,這在IIS里常見(jiàn),其表現(xiàn)為(Invalid Hostname)失敗的主機(jī)頭,另外其他的失敗的壞請(qǐng)求都是此狀態(tài)。

403 Forbidden:禁止?fàn)顟B(tài),此狀態(tài)是明顯的禁止用戶和拒絕用戶的請(qǐng)求!

404 Not Found:請(qǐng)求的地址和資源沒(méi)有找到。

500 Internal Server Error:內(nèi)部服務(wù)器錯(cuò)誤。

503 Service Unavailable:服務(wù)器不可用,表示W(wǎng)eb服務(wù)器已經(jīng)崩潰或者超載運(yùn)行,此狀態(tài)就是明確的告訴用戶,現(xiàn)在服務(wù)器有問(wèn)題。

什么是精確重定向?

當(dāng)你訪問(wèn)http://www.111.cn/myPage.aspx想轉(zhuǎn)向到http://www.111.com/myPage.aspx這叫精確重定向,就是僅僅域名變了,但是后面的路徑依舊存在,相反,就是不管訪問(wèn)那個(gè)頁(yè)面,都重定向到一個(gè)新的指定的頁(yè)面。

解釋3xx狀態(tài)

我們以301永久重定向?yàn)槔?。我們發(fā)請(qǐng)求給g.cn,看到HttpWatch的信息

以下是代碼片段:
HTTP/1.1 301 Moved Permanently
Cache-Control: private, max-age=2592000
Content-Length: 235
Content-Type: text/html; charset=UTF-8
Date: Mon, 11 Jan 2010 13:58:44 GMT
Expires: Mon, 11 Jan 2010 13:58:44 GMT
Location: http://www.google.cn/webhp?source=g_cn
Server: gws
X-XSS-Protection: 0

此狀態(tài)明顯說(shuō)明301永久重定向,但是從定向到哪里呢??看下面有一個(gè)Location: http://www.google.cn/webhp?source=g_cn,Location的意思是位置,一個(gè)3xx的請(qǐng)求必須包含Location字段信息,否則將不知道轉(zhuǎn)向到哪里。

在程序中實(shí)現(xiàn)3xx狀態(tài)

ASP:

在ASP的編程中有一個(gè)方法或者說(shuō)是函數(shù)可以控制狀態(tài)行的字符,并且可以添加Location這樣的字段。

以下是代碼片段:
%
Response.Status = 301
‘表示狀態(tài)切換成301
Response.AddHeader “Location”,”http://www.baidu.com/” ‘在頭中添加Location字段,其內(nèi)容是百度的網(wǎng)址。
%>

以下是代碼片段(精確重定向):
%
Response.Status = 301 ‘表示狀態(tài)切換成301
Response.AddHeader “Location”,”http://www.baidu.com/”Request.ServerVariables(“HTTP_X_REWRITE_URL”) ‘在頭中添加Location字段,其內(nèi)容是百度的網(wǎng)址。
%>

這是永久重定向的實(shí)現(xiàn)方法,有人說(shuō)Response.Redirect也可以重定向,但是你最好用HttpWatch看看到底是不是301!

Request.ServerVariables(“HTTP_X_REWRITE_URL”)是ASP中獲得請(qǐng)求路徑的方法。

PHP:和ASP一樣,也是兩步

以下是代碼片段:
?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.baidu.com/”);
?>

以下是代碼片段(精確重定向):
?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.baidu.com/”.$_SERVER"REQUEST_URI"]);
?>

在PHP中header()這個(gè)方法直接可以對(duì)HTTP頭部信息進(jìn)行操作,如果不寫(xiě)“header(“HTTP/1.1 301 Moved Permanently”); ”這個(gè)的話也可以轉(zhuǎn)向,不過(guò)和ASP的Response.Redirect一樣,狀態(tài)不會(huì)是301而是300。

ASP.net:也是兩步

以下是代碼片段:
%@ Page Language=”C#” %>
%
    Response.Status = “HTTP/1.1 301 Moved Permanently”;
    Response.Headers.Add(“Location”, http://www.baidu.com/);
%>

以下是代碼片段(精確重定向):
%@ Page Language=”C#” %>
%
    Response.Status = “HTTP/1.1 301 Moved Permanently”;
    Response.Headers.Add(“Location”, “http://www.baidu.com/”.Request.ServerVariables(“HTTP_X_REWRITE_URL”));
%>

策略

要實(shí)現(xiàn)重定向,就要保證用戶訪問(wèn)的所有地址都執(zhí)行了上面的代碼,如果有條件可以將所有請(qǐng)求Rewrite到一個(gè)這樣的文件,如果不行,就想辦法都要執(zhí)行這個(gè)代碼,其中有很多辦法,比如dedecms無(wú)論訪問(wèn)什么地址都執(zhí)行了common.inc.php這個(gè)文件,大家就可以上面的代碼放到這個(gè)文件中。

另外同一空間實(shí)現(xiàn)判斷重定向,如果一個(gè)空間綁定了兩個(gè)域名

http://www.111.cn

http://www.111.com

如果用戶訪問(wèn)的是http://www.111.cn/index.asp?page=2這樣的網(wǎng)站重定向到http://www.111.com/index.asp?page=2,在同一空間如何實(shí)現(xiàn),這里是以ASP編程做的例子,如果想判斷是cn的域名就進(jìn)行轉(zhuǎn)向,不是com的域名就不轉(zhuǎn)向可以通過(guò)編程方法實(shí)現(xiàn)判斷

以下是代碼片段(精確重定向):
%
comDomain = “www.111.com” ‘定義COM域名

 

If Request.ServerVariables(“SERVER_NAME”) > comDomain Then ‘如果請(qǐng)求的域名不是com的域名
            Response.Status = 301 ‘表示狀態(tài)切換成301
            Response.AddHeader “Location”,”http://” comDomain  “/”Request.ServerVariables(“HTTP_X_REWRITE_URL”) ‘在頭中添加Location字段,使用當(dāng)前的求情的路徑加上COM的域名組合成新的地址。
End If
%>

補(bǔ)充一下:Apache 服務(wù)器可以直接在 .htaccess 文件中實(shí)現(xiàn) 301 重定向。

標(biāo)簽:文山 臨滄 中衛(wèi) 延邊 山西 荊門(mén) 連云港 大連

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《301永久重定向講解和設(shè)置方法》,本文關(guān)鍵詞  301,永久,重定向,講解,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《301永久重定向講解和設(shè)置方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于301永久重定向講解和設(shè)置方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    江陵县| 湘西| 梧州市| 五峰| 都匀市| 新源县| 罗平县| 星座| 普格县| 五莲县| 河北区| 珠海市| 桦甸市| 千阳县| 乐平市| 富蕴县| 红桥区| 张家口市| 江都市| 安乡县| 龙门县| 宝应县| 淮滨县| 汉寿县| 敦煌市| 定安县| 泊头市| 德阳市| 饶平县| 马关县| 莫力| 府谷县| 鹤峰县| 布拖县| 宁晋县| 南投县| 巴彦县| 湖南省| 阜宁县| 津市市| 湖州市|