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