今天小編請(qǐng)來(lái)了云和學(xué)院鄭州php培訓(xùn)班的老師給大家詳細(xì)講解301
什么是301:
301轉(zhuǎn)向(或叫301重定向,301跳轉(zhuǎn))是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請(qǐng)求時(shí),服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁(yè)永久性轉(zhuǎn)移到另一個(gè)地址。
什么情況下需要我們做301:
1:網(wǎng)站更換域名時(shí),通過(guò)301永久重定向?qū)⑴f域名重定向至新域名,挽回流量損失和SEO。
2:當(dāng)出于需要?jiǎng)h除網(wǎng)站中的某些目錄時(shí),比如我要?jiǎng)h除我博客下的博客導(dǎo)航,這時(shí)就可以用301永久重定向到網(wǎng)站首頁(yè)。
3:如果你有多個(gè)閑置域名時(shí)需要指向同一網(wǎng)站時(shí),通過(guò)301永久重定向可以實(shí)現(xiàn)。
4:你打算實(shí)現(xiàn)網(wǎng)址規(guī)范化。
如和做301?以m.zhangshiyuan.cn301到haoracle。com為例
1:IIS 服務(wù)器實(shí)現(xiàn)301 重定向
打開(kāi)IIS,右鍵-屬性-網(wǎng)站-IP地址哪里點(diǎn)編輯增加一個(gè)站點(diǎn),增加一個(gè)站點(diǎn),綁定的一下主機(jī)頭,也可以綁定多個(gè)閑置域名,打開(kāi)IIS,首先新建立一個(gè)站點(diǎn),隨便對(duì)應(yīng)一個(gè)目錄E:\wwwroot\301web。該目錄下只需要2個(gè)文件,一個(gè) default.html,一個(gè)404.htm。在欲重定向的網(wǎng)頁(yè)或目錄上按右鍵;選中“重定向到URL”;在對(duì)話框中輸入目標(biāo)頁(yè)面的地址;切記,記得選 中“資源的永久重定向”;當(dāng)然,最后要點(diǎn)擊“應(yīng)用”,完成。
2:Apache 服務(wù)器實(shí)現(xiàn)301 重定向
在Apache 中,有個(gè)很重要的文件.htaccess,通過(guò)對(duì)它的設(shè)置,可以實(shí)現(xiàn)很多強(qiáng)大的功能,301 重定向只是其中之一。找到redirect permanent / http://haoracle.com:
redirect permanent /old.html http://haoracle.com:修改這句即可。
3:如果網(wǎng)址使用LAMO(Linux+Apache+MySQL+PHP)主機(jī)可以在.htaccess文件中增加301重定向指令
采用“mod_rewrite”技術(shù),形如:
RewriteEngine on
RewriteRule ^(.*)$ http://haoracle.com/$1 [R=301,L]
注意:如果網(wǎng)站用的是windows主機(jī),可以在控制面板做301轉(zhuǎn)向設(shè)定。純靜態(tài)HTML頁(yè)面無(wú)法做301轉(zhuǎn)向。在HTML里能做JS或者M(jìn)eta Refresh轉(zhuǎn)向,但不能做301轉(zhuǎn)向(用HTML跳轉(zhuǎn):<META HTTP-EQUIV=REFRESH CONTENT=”5;URL=http://m.zhangshiyuan.cn”>, 表示5秒后自動(dòng)跳轉(zhuǎn)到首頁(yè),你也可以把時(shí)間設(shè)置的更短,但也很容易被搜尋引擎容易誤判為spam而遭到懲罰。用javascript跳 轉(zhuǎn):<script language=”javascript”>location.href=’http://m.zhangshiyuan.cn'</script>)。HTML一被讀取,就已經(jīng)返回200 ok代碼了。如果頁(yè)面是ASP或者PHP,還可以做301轉(zhuǎn)向。
4:適用于使用Unix網(wǎng)絡(luò)服務(wù)器的用戶
通過(guò)此指令通知搜索引擎的spider你的站點(diǎn)文件不在此地址下。這是較為常用的辦法。
形如:Redirect 301 / http://haoracle.com/
5:在服務(wù)器軟件的系統(tǒng)管理員配置區(qū)完成301重定向
適用于使用Window網(wǎng)絡(luò)服務(wù)器的用戶
6:綁定/本地DNS
如果具有對(duì)本地DNS記錄進(jìn)行編輯修改的權(quán)限,則只要添加一個(gè)記錄就可以解決此問(wèn)題。若無(wú)此權(quán)限,則可要求網(wǎng)站托管服務(wù)商對(duì)DNS服務(wù)器進(jìn)行相應(yīng)設(shè)置。
DNS服務(wù)器的設(shè)置
若要將www.haoraclecom指向haoracle.com,則只需在DNS服務(wù)中應(yīng)增加一個(gè)別名記錄,可寫(xiě)成:www IN CNAME haoracle.com。
如需配置大量的虛擬域名,則可寫(xiě)成:* IN CNAME haoracle.com.這樣就可將所有未設(shè)置的以haorcle.com結(jié)尾的記錄全部重定向到haoracle.com上。
7:用ASP/PHP實(shí)現(xiàn)301重定向:
ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://haoracle.com/”
Response.End
PHP:
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location:http://haoracle.com/”);
exit();
我應(yīng)該用哪種301?哪種301最好?301是否傳遞權(quán)重?
這需要根據(jù)你的實(shí)際情況,這里有必要先說(shuō)一下我們是如何打開(kāi)一個(gè)網(wǎng)頁(yè)的,我們從輸入網(wǎng)址到看到網(wǎng)頁(yè)內(nèi)容這中間到底發(fā)生了什么。
1.假設(shè)DNS里有一條記錄,是把域名www.haoracle. com 指向web服務(wù)器192.168.*.*的。(我們?cè)诖罱ňW(wǎng)站的時(shí)候所說(shuō)的解析域名就是告訴DNS我要把我的域名指向http://xxx.xxx.xxx.xxx主機(jī)。)
2:當(dāng)我們?cè)赑C上輸入訪問(wèn)m.zhangshiyuan.cn 時(shí)就會(huì)先到DNS上查找有沒(méi)有記錄,有的話dns會(huì)告訴PC 是192.168.*.*。如果沒(méi)有那就悲劇了,我們平時(shí)遇到的可以登錄qq但是不能訪問(wèn)網(wǎng)頁(yè)就有可能是這個(gè)原因。
3:假設(shè)上面再dns里能找到記錄(找不到就沒(méi)法寫(xiě)了),這時(shí)候pc1就會(huì)拿著192.168.*.*找到r1問(wèn),我要去192.168.*.*該怎么走?R1其實(shí)有可能具體也不知道怎么走,但是R1知道R1.1 知道怎么走,然后就把數(shù)據(jù)交給R1.1 。。。。。。一直到R2,R2說(shuō)我知道,然后R2就把請(qǐng)求交給192.168.*.*
4:Web-Server上還要聲明自己就是m.zhangshiyuan.cn的服務(wù)器,要不然他也不會(huì)買賬的。假設(shè)Web-Server就是m.zhangshiyuan.cn 的服務(wù)器(不是又沒(méi)法寫(xiě)了),Web-Server看到數(shù)據(jù)請(qǐng)求是來(lái)請(qǐng)求訪問(wèn)m.zhangshiyuan.cn的,然后就把m.zhangshiyuan.cn 的首頁(yè)返回給PC
5:PC拿到數(shù)據(jù)后就會(huì)在瀏覽器上解析出我們常見(jiàn)的網(wǎng)頁(yè)。
簡(jiǎn)單來(lái)說(shuō)就是這樣子:1.輸入網(wǎng)址——>2.此時(shí)電腦開(kāi)始查詢最近的dns服務(wù)器找到對(duì)應(yīng)IP——-尋找此IP的問(wèn)路過(guò)程——–>3.找到聲明自己就是對(duì)應(yīng)IP的服務(wù)器——–>4.服務(wù)器響應(yīng)請(qǐng)求給出對(duì)應(yīng)的路徑地址和內(nèi)容——–>5.瀏覽器解析看到內(nèi)容
也就是說(shuō)想要最快的301效果,直接從第2步用dns301跳轉(zhuǎn)(域名解析)最快;其次是用第4步,服務(wù)器設(shè)置301跳轉(zhuǎn);第4步中如果開(kāi)啟了.htacess文件,則服務(wù)器還要再訪問(wèn)一次.htacess,這種跳轉(zhuǎn)是最慢的。因?yàn)槠湓L問(wèn)層級(jí)最深。嚴(yán)格來(lái)說(shuō)第2步DNS設(shè)置的跳轉(zhuǎn)是域名解析,不能稱為301,這樣的跳轉(zhuǎn)根本訪問(wèn)不到舊的IP,也就不存在權(quán)重轉(zhuǎn)移。而html靜態(tài)頁(yè)中不論是Meta Refresh轉(zhuǎn)向還是js跳轉(zhuǎn)實(shí)際上都已經(jīng)訪問(wèn)到“頁(yè)面“”,只不過(guò)頁(yè)面內(nèi)容指示頁(yè)面跳轉(zhuǎn),這里如果設(shè)置不當(dāng)甚至可能被搜索引擎判定為作弊。想要實(shí)現(xiàn)權(quán)重轉(zhuǎn)移,最好的辦法是服務(wù)器響應(yīng)請(qǐng)求之前,返回靜態(tài)頁(yè)之前用服務(wù)器設(shè)置或者.htacess文件做301跳轉(zhuǎn)。
做完301后,新域名添加新內(nèi)容,老域名是否還會(huì)收錄?
如果搜索引擎get到了301,也就意味著get到了舊域名地址,即使新域名添加了新頁(yè)面,對(duì)應(yīng)的還是會(huì)有一個(gè)舊域名的頁(yè)面被抓去,隨著時(shí)間的積累,搜索引擎意識(shí)到舊域名永久轉(zhuǎn)移,會(huì)逐漸減少甚至停止舊域名的抓取。最后直至完全把舊快照完全清理出數(shù)據(jù)庫(kù),這需要一個(gè)漫長(zhǎng)的時(shí)間。更多問(wèn)題歡迎來(lái)電咨詢鄭州php培訓(xùn)班的專家老師。