301重定向完整解析_301重定向代碼
在優(yōu)化網(wǎng)站的時(shí)候,301重定向是站長(cháng)們必不可缺的一項優(yōu)化,而301重定向主要用于將內容從一個(gè)位置移動(dòng)到另外一個(gè)位置。其實(shí),在理解上也是非常簡(jiǎn)單的,比如我在http://www.abc.com/a.html上有一些內容,接著(zhù)我想重構網(wǎng)站,于是我想把此頁(yè)面上的內容移動(dòng)到http://www.abc.com/b.html上。所以,我可以實(shí)施了重定向將這個(gè)頁(yè)面的所有轉移到另外一個(gè)頁(yè)面??赡苡腥藭?huì )問(wèn),為什么非要給網(wǎng)站做301重定向?首先做重定向之前要明白一點(diǎn),重定向不僅對用戶(hù)很重要,而且對于搜索引擎也是很重要的,當網(wǎng)站改版后并通過(guò)實(shí)施重定向, 可以讓用戶(hù)或搜索引擎訪(fǎng)問(wèn)舊版頁(yè)面不是404錯誤頁(yè)面,而是成功訪(fǎng)問(wèn)新版本的頁(yè)面,還可以讓搜索引擎知道你是何時(shí)移動(dòng)內容的。
相關(guān)文章推薦:
301重定向進(jìn)行URL標準化設置要點(diǎn)
為什么今天談301重定向的問(wèn)題呢?之所以談這個(gè)問(wèn)題也是因為在分析診斷企業(yè)網(wǎng)站時(shí),發(fā)現了各種各樣的問(wèn)題:比如企業(yè)網(wǎng)站重構后沒(méi)用對舊版本的頁(yè)面重定向到新版本,導致重構后的網(wǎng)站出現大量的404錯誤頁(yè)面,而且網(wǎng)站也因為這些而導致權重流失。另外,在設置301重定向的時(shí)候設置錯誤或不知道該怎么去設置。所以,很多企業(yè)的站長(cháng)對301重定向認識不夠、操作錯誤等。那么,對此問(wèn)題做了一些整理,希望可以幫助到中小型企業(yè)站長(cháng)正確、有效的設置301重定向。
一、301重定向的作用
301重定向的作用有很多,平時(shí)站長(cháng)在做301重定向的時(shí)候,一是為了URL規范化并集中權重不讓權重分散、二是為了網(wǎng)站改版,將舊版本的頁(yè)面的所有指標全部轉移到新版本的頁(yè)面上。而實(shí)施301重定向可以做到這些,在作用上也是非常的強大。
二、在什么情況下必須做301重定向
以下五種情況是必須要做301重定向的,當然如果這五種情況都沒(méi)有發(fā)生的話(huà)可以選擇不做,下面詳細的介紹一下。
?、伲壕W(wǎng)站的舊內容過(guò)期并被刪除掉
網(wǎng)站的一些內容過(guò)期了,所以要被刪掉了,如果還想留著(zhù)可以通過(guò)重定向實(shí)現。
?、冢壕W(wǎng)站有一些具有鏈接和流量的無(wú)效URL
如果你發(fā)現這些無(wú)效的URL還有流量權重,可以通過(guò)重定向重新生成頁(yè)面。
?、郏壕W(wǎng)站更換了主機托管公司
如果網(wǎng)站更換了主機托管公司,不影響用戶(hù)查找網(wǎng)站內容的任何URL的情況下,可以不需要做重定向。
?、埽壕W(wǎng)站更換程序
網(wǎng)站進(jìn)行較大的改版,網(wǎng)站程序需要更換,此時(shí)會(huì )影響很多URL,可以通過(guò)重定向來(lái)解決。
?、荩壕W(wǎng)站實(shí)施URL規范化
網(wǎng)站默認的URL分:
1、abc.com
2、www.abc.com
3、abc.com/index.html
4、www.abc.com/index.html
為了進(jìn)行規范化只出現一個(gè)標準的URL,可以通過(guò)重定向實(shí)現。例如:我指向出現www.abc.com的URL,我可以將其他三個(gè)重定向到www.abc.com上。
?、蓿壕W(wǎng)站因為各種原因而改變現有內容的URL
注意:并不是所有情況都是需要做重定向的,但是,任何URL的更改都是需要做重定向的。
三、做301重定向的注意事項
當重定向實(shí)施完之后,舊版本頁(yè)面跳轉到了新版本頁(yè)面,或網(wǎng)址規范化了再或者其他的,部分站長(cháng)不會(huì )注意到HTTP狀態(tài)是否返回成功,就在此時(shí),可能有些重定向不傳遞狀態(tài)或者出現錯誤的狀態(tài)碼。
例如:404錯誤(頁(yè)面未找到)或者200 OK(頁(yè)面成功加載)
正確的狀態(tài)碼:
錯誤的狀態(tài)碼:
如果遇到這種情況也是一個(gè)問(wèn)題,所以要避免這樣的問(wèn)題發(fā)生。如果站長(cháng)在做301永久重定向后,一定要確保HTTP狀態(tài)是返回301 HTTP狀態(tài)碼而不是返回200或404再或者是其他的。
四、301永久重定向后權重會(huì )不會(huì )疊加
301永久重定向后權重會(huì )不會(huì )疊加呢?很多站長(cháng)都在考慮這個(gè)問(wèn)題,部分站長(cháng)想通過(guò)這種途徑來(lái)投機取巧。301永久重定向后權重是可以疊加的,但權重不會(huì )相加。那么,什么樣的網(wǎng)站做301重定向權重是可以疊加的,什么樣的網(wǎng)站做301重定向權重是不能疊加的?下面詳細的說(shuō)明一下。
?、伲簝蓚€(gè)相同的網(wǎng)站做301重定向是可以疊加權重的,但權重不是全部轉移過(guò)來(lái),而且要看站點(diǎn)符不符規則,一般來(lái)說(shuō)權重再轉移的時(shí)候會(huì )損失一部分。
?、冢簝蓚€(gè)不相同的網(wǎng)站做301重定向是不可以疊加權重的,為什么呢?如果兩個(gè)網(wǎng)站一點(diǎn)也不相同,權重不僅不會(huì )轉移過(guò)來(lái),而且百度也不愿意這么做,所以?xún)蓚€(gè)不相同的網(wǎng)站沒(méi)法傳遞權重和疊加權重。
五、301重定向和302重定向的區別
重定向的方法其實(shí)是有很多的,但不同的方法會(huì )出現不同的結果,而且區別也是很大的。目前,根據WEB服務(wù)器返回給瀏覽器的HTTP狀態(tài)碼,重定向主要可以分為好和壞兩類(lèi),好的一類(lèi)是301永久重定向、壞的一類(lèi)是301臨時(shí)重定向。
?、伲?01永久重定向(好)
首先,301永久重定向。這個(gè)狀態(tài)碼告訴用戶(hù)、搜索引擎、瀏覽器,該資源已經(jīng)永久性的移動(dòng)到另一個(gè)位置(舊版本頁(yè)面永久重定向到新版本頁(yè)面),而且沒(méi)有恢復原位的打算。
?、冢?02臨時(shí)重定向(壞)
然后,302臨時(shí)重定向。這個(gè)狀態(tài)碼告訴用戶(hù)、搜索引擎、瀏覽器,該資源已經(jīng)暫時(shí)性的移動(dòng)到另外一個(gè)位置(舊版本頁(yè)面臨時(shí)重定向到新版本頁(yè)面),這種移動(dòng)不會(huì )當作永久性,而且會(huì )恢復原來(lái)的位置。
注意:兩種形式的重定向都會(huì )將用戶(hù)、搜索引擎發(fā)送到新的位置(頁(yè)面),但搜索引擎對待這兩個(gè)HTTP狀態(tài)碼卻不同。當搜索引擎看到301狀態(tài)碼的時(shí)候,會(huì )判斷舊版本頁(yè)面將權重或任何其他的指標永久轉移到新頁(yè)面。當搜索引擎看到302HTTP狀態(tài)碼的時(shí)候,會(huì )假設它不應該將舊頁(yè)面的歷史鏈接跟權重轉移到新的頁(yè)面,意思是轉移后還是轉移回來(lái)的。另外,301永久重定向會(huì )導致搜索引擎從索引上(百度、谷歌)刪除舊頁(yè)面并用新頁(yè)面代替。
六、如何實(shí)施301重定向
?、伲禾摂M主機
Linux虛擬主機設置301跳轉方法:
在本地新建一個(gè)文本文件,最好用的專(zhuān)業(yè)的編輯器軟件如EditPlus 將代碼粘入
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
說(shuō)明:上述規則是將站點(diǎn)所以訪(fǎng)問(wèn)域名都重定向到www.abc.com(規則中的域名請修改為自己的域名),如果僅想將綁定在站點(diǎn)上某個(gè)域名(如:www.123.com)重定向到www.abc.com,規則如下:
RewriteCond %{HTTP_HOST} ^www.123.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
如果有多種需求,如abc.com跳轉到www.abc.com qwe.com跳轉到www.qwe.com,規則如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^qwe.com$ [NC]
RewriteRule ^(.*)$ http://www.qwe.com/$1 [R=301,L]
根據自己的需要進(jìn)行添加修改,然后上傳到服務(wù)器wwwroot目錄,改名為.htaccess即可
win虛擬主機設置301跳轉方法:
手動(dòng)設置的(沒(méi)有自動(dòng)生成)
1、進(jìn)入主機控制面板,進(jìn)入ISAPI篩選器設置,點(diǎn)擊"開(kāi)啟自定義URL靜態(tài)化支持"按鈕。
2、待開(kāi)啟偽靜態(tài)功能后,進(jìn)入FTP文件管理,找到\others\discuz\httpd.conf 修改這里面的規則。
3、示例代碼:
RewriteCond %{HTTP:Host} ^abc.com$
RewriteRule (.*) http://www.abc.com$1 [NC,R=301]
#第一條表示要做跳轉的域名,第二條表示要跳轉到的域名
#如果有很多域名要做跳轉,那么可以將第一條規則改為
RewriteCond %{HTTP:Host} !^www.abc.com$
這樣,就表示非www.abc.com的域名訪(fǎng)問(wèn)都會(huì )跳轉到www.abc.com #多個(gè)域名做跳轉的第二種方法是,首先復制多個(gè) RewriteCond 項,將域名改好 除了最后一項,其余的 RewriteCond 項最后都要加個(gè)參數 [OR]即可。
注意:現在很多虛擬主機都自帶301的配置,可以在主機控制面板上生成代碼信息,然后按照上面的提示進(jìn)行301重定向。
?、冢簑indow獨立服務(wù)
Win獨立服務(wù)301設置(win2003、win2008):
1、IIS服務(wù)器實(shí)現301重定向
打開(kāi)IIS,右鍵-屬性-網(wǎng)站-IP地址那里點(diǎn)編輯增加一個(gè)站點(diǎn),然后綁定一下主機頭,也可以綁定更多的閑置域名。如圖所示:
打開(kāi)IIS,首先新建立一個(gè)站點(diǎn),隨便對應一個(gè)目錄E:\wwwroot\301web。該目錄下只需要2個(gè)文件,一個(gè) default.html,一個(gè)404.htm。在欲重定向的網(wǎng)頁(yè)或目錄上按右鍵;選中“重定向到URL”;在對話(huà)框中輸入目標頁(yè)面的地址;切記,記得選 中“資源的永久重定向”;當然,最后要點(diǎn)擊“應用”,完成。如下圖所示:
注意:win2003跟win2008都是使用IIS服務(wù)器,所以301重定向的步驟方法是一樣的。
?、郏篖inux獨立服務(wù)器
Linux獨立服務(wù)器301設置(紅帽企業(yè)版、centos):
我用的是紅帽企業(yè)版,用的是源碼包裝的Web環(huán)境。然后我進(jìn)入Linux服務(wù)器,找到apache的主配置文件 httpd.conf , 我的apache服務(wù)器下有多個(gè)虛擬主機,我找到我要做301重定向的虛擬主機,然后添加如何的代碼(代碼是完整的):
1、進(jìn)入Linux服務(wù)器,然后找到httpd.conf的Apache 主配置文件,下圖紅色框是我所在的完整位置,藍色框是內容,也就是命令pwd現實(shí)所在位置,ls查詢(xún)當前位置的內容。
既然找到主配置文件了,我們通過(guò)命令vi httpd.conf 編輯一下,在最后添加如下完整的代碼。要找到配置的那個(gè)虛擬主機然后添加代碼, 不要亂添加。
ServerName www.abc.com
ServerAdmin webmaster@dummy-host.example.com
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
ServerName abc.com
ServerAdmin webmaster@dummy-host.example.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.abc.com$1 [R=301,L]
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
注意:不同形式安裝的apache 其路徑是不同的,有源碼包、有YUM等安裝方式,兩種馬路是不一樣的,建議新手聯(lián)系空間商并實(shí)施301重定向。
?、埽航壎?本地DNS
如果具有對本地DNS記錄進(jìn)行編輯修改的權限,則只要添加一個(gè)記錄就可以解決此問(wèn)題。若無(wú)此權限,則可要求網(wǎng)站托管服務(wù)商對DNS服務(wù)器進(jìn)行相應設置。
?、荩篋NS服務(wù)器的設置
若要將blog.abc.com指向www.abc.com,則只需在DNS服務(wù)中應增加一個(gè)別名記錄,可寫(xiě)成:blog IN CNAME www.abc.com。
如需配置大量的虛擬域名,則可寫(xiě)成:* IN CNAME www.abc.com.
這樣就可將所有未設置的以abc.com結尾的記錄全部重定向到www.abc.com上。
ASP.NET怎樣實(shí)現頁(yè)面重定向
網(wǎng)站中肯定有多個(gè)頁(yè)面構成,頁(yè)面間的關(guān)系支撐著(zhù)網(wǎng)站的層次關(guān)系。這就考慮到一個(gè)頁(yè)面重新定向的問(wèn)題,微軟提供的ASP.NET中提供了如下3種常用的頁(yè)面重定向方式:
1. 超鏈接
最常見(jiàn)的方法是使用超鏈接作為用戶(hù)提供跳轉到目標頁(yè)的“接口”??梢栽?ASP.NET 網(wǎng)頁(yè)上使用HTML<a>標記創(chuàng )建靜態(tài)鏈接,也可以通過(guò)使用 HyperLink 服務(wù)器控件以編程方式控制超鏈接的鏈接文本和目標 URL,如下面的代碼所示。
代碼實(shí)例:
<a href="<http://www.net.cn/>oonseo.cn" target="_blank">SEO研究中心</a>
<asp:HyperLink
ID="HyperLink1"
runat="server"
NavigateUrl="<http://www.net.cn/>oonseo.cn">
我的網(wǎng)站
</asp:HyperLink>
這兩種方法的特點(diǎn)在于可以將頁(yè)面重定向到任何頁(yè),而不局限于同一Web應用程序當中。但是不會(huì )將當前頁(yè)的信息傳遞到目標頁(yè),如果需要跨頁(yè)傳遞(共享)信息,通常需要使用查詢(xún)字符串或會(huì )話(huà)狀態(tài)。
2. 使用瀏覽器以編程方式重定向
可以通過(guò)調用 Redirect 方法為頁(yè)面設置重定向URL。
代碼實(shí)例:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Test.aspx");
}
Redirect 方法接受一個(gè)表示目標位置的字符串。當服務(wù)器遇到Redirect語(yǔ)句時(shí),將發(fā)送一條指令(包含新的地址)給瀏覽器,然后讓瀏覽器去發(fā)送http請求。與 超鏈接一樣,Redirect 方法不會(huì )向目標頁(yè)傳遞信息。如果源頁(yè)和目標頁(yè)位于同一Web應用程序中,則可以通過(guò)將數據存儲在會(huì )話(huà)狀態(tài)中在源頁(yè)和目標頁(yè)之間共享數據。
3. 在服務(wù)器端以編程方式重定向
Redirect是通過(guò)瀏覽器進(jìn)行重定向的,而Transfer 方法則是在服務(wù)器上直接重定向到目標頁(yè)。也就是說(shuō),比起Redirect方法,Transfer少了一個(gè)由服務(wù)器傳輸數據到瀏覽器的過(guò)程,而直接由服務(wù)器 端轉向目標頁(yè)。Transfer方法的另一個(gè)顯著(zhù)特點(diǎn)就是在頁(yè)面轉換時(shí),Request集合里的內容不會(huì )丟失,從而為開(kāi)發(fā)人員帶來(lái)了方便。
代碼實(shí)例:
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("~/Test.aspx");
}
由于源頁(yè)和目標頁(yè)之間的傳輸在服務(wù)器上進(jìn)行,瀏覽器沒(méi)有任何關(guān)于更改后的頁(yè)的信息,它仍保留有關(guān)原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在執行傳輸后不會(huì )發(fā)生變化,而是繼續顯示最近請求的頁(yè)(通常為源頁(yè))的 URL。因此,對于以隱藏 URL 的方式向用戶(hù)呈現頁(yè)面的應用程序而言,調用 Transfer 方法是一種最佳的策略。注意:采用Transfer方式重定向,源頁(yè)與目標頁(yè)必須位于相同的 Web 應用程序中,否則會(huì )引發(fā)異常。
寫(xiě)在最后:
上述則是A5營(yíng)銷(xiāo)整理的301重定向??偟膩?lái)說(shuō),網(wǎng)站改版可以通過(guò)301重定向將舊版本頁(yè)面的所有全部傳遞到新版本頁(yè)面上,另外則是對URL做規范化。實(shí)施的過(guò)程中要注意為什么要做301重定向、方法的操作、操作的正確度等,為了更好的設置301重定向,A5營(yíng)銷(xiāo)建議參考以上整理的內容。轉自A5營(yíng)銷(xiāo)
相關(guān)文章:
-
在線(xiàn)HTML實(shí)體轉字符串工具 #22235;在線(xiàn)HTML實(shí)體轉漢字 HTML實(shí)體編碼互轉 https://uutool.cn/html2str/ http://www.toolzl.com/tools/htmlende.html...
-
Viewport viewport:可視窗口,也就是瀏覽器。 vw Viewport寬度, 1vw 等于viewport寬度的1% vh Viewport高度, 1vh 等于viewport高的的1% CSS3使用Calc calc()使用通用的數學(xué)運算規則,但是也提供更智能的功能:...
-
今天西安蟠龍網(wǎng)絡(luò )小編分享一款基于jQuery+html5實(shí)現焦點(diǎn)輪播幻燈片,自適應全屏顯示,支持不同的3d動(dòng)態(tài)切換特效,兼容基本所有的瀏覽器,但不支持IE8及以下瀏覽器。 該幻燈片基于jquery,所...
-
小程序定制開(kāi)發(fā)聯(lián)系西安蟠龍網(wǎng)絡(luò ),我們竭誠為您服務(wù)! 微信小程序是個(gè)劃時(shí)代的產(chǎn)品,解決了大多數APP令人頭疼的問(wèn)題,不用再在手機上下載各種各樣的APP,隨用隨關(guān)不占用手機空間,依附于...
-
基本定義 403錯誤,是網(wǎng)站訪(fǎng)問(wèn)過(guò)程中,常見(jiàn)的錯誤提示。資源不可用。服務(wù)器理解客戶(hù)的請求,但拒絕處理它。通常由于服務(wù)器上文件或目錄的權限設置導致。那么網(wǎng)站出現403錯誤怎么辦呢?...
-
我們的網(wǎng)站經(jīng)常會(huì )出現各種錯誤代碼,比如404、503等等,我們原來(lái)發(fā)過(guò)一篇名為 網(wǎng)站404錯誤 怎么辦的文章,說(shuō)明遇到404錯誤應該怎么處理,那么網(wǎng)站出現503錯誤怎么辦呢? 基本定義 503是一種...
-
IIS (Internet Information Server,互聯(lián)網(wǎng)信息服務(wù))是一種Web(網(wǎng)頁(yè))服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁(yè)瀏 覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面...
-
您可以通過(guò)在Google中對自己的網(wǎng)站執行“site:”搜索(例如[site:example.com]),隨時(shí)留意自己的網(wǎng)站上是否有可疑活動(dòng)。搜索結果中是否有任何您不認識的可疑網(wǎng)址或目錄?...
-
Discuz! 是騰訊旗下 Comsenz 公司推出的以社區為基礎的專(zhuān)業(yè)建站平臺,幫助網(wǎng)站實(shí)現一站式服務(wù)。讓論壇(BBS)、個(gè)人空間(SNS)、門(mén)戶(hù)(Portal)、群組(Group)、應用開(kāi)放平臺(Open Platform)充分...
-
本文檔用于幫助您將原有的 Discuz! X 系列任意版本升級到 Discuz! X3.1 正式版本。一、升級前的準備 1、請您仔細閱讀升級前的注意事項(非常重要)。2、后臺關(guān)閉站點(diǎn) 3、后臺關(guān)閉所有插件。4、...