1. 程式人生 > >站點技術---301重定向

站點技術---301重定向

-c fresh ron 朋友 clas nco ane ext 永遠

頁面永久性移走(301重定向)是一種很重要的“自己主動轉向”技術。網址重定向最為可行的一種辦法。當用戶或搜索引擎向站點server發出瀏覽請求時。server返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到還有一個地址。

域名定向

路由選擇的變化也是對數據報文經由路徑的一種重定向。 在我們站點建設中,時常會遇到須要網頁重定向的情況:像站點調整,改變了站點的文件夾結構,網頁被移到一個新地址。或者網頁擴展名改變,如因應用須要把.php改成.Html或.shtml。在這些情況下,假設不做重定向,則用戶收藏夾或搜索引擎數據庫中舊地址僅僅能讓訪問客戶得到一個404頁面錯誤信息,訪問流量白白喪失。又比方某些註冊了多個域名的站點,也須要通過重定向讓訪問這些域名的用戶自己主動跳轉到主站點。等等。 方式介紹
經常使用的重定向方式有: 301 redirect, 302 redirect 與 meta fresh: 301 redirect::301代表永久性轉移(Permanently Moved),301重定向是網頁更改地址後對搜索引擎友好的最好方法,僅僅要不是臨時搬移的情況,都建議使用301來做轉址。 302 redirect::302代表臨時性轉移(Temporarily Moved ),在前些年。不少Black Hat SEO曾廣泛應用這項技術作弊。各大主要搜索引擎均加強了打擊力度,像Google對BMW德國站點的懲處。

即使站點客觀上不是spam。也非常easy被搜尋引擎誤判為spam而遭到懲處。

meta fresh: 這在2000年前比較流行。它詳細是通過網頁中的meta指令。在特定時間後重定向到新的網頁,假設延遲的時間太短(約5秒之內),會被推斷為spam。 IISserver實現301重定向 * 打開internet信息服務管理器,在欲重定向的網頁或文件夾上按右鍵 技術分享

IIS6.0上面301重定向圖

,選擇“重定向到URL”。 * 此處以重定向到百度為例 * 在“重定向到”輸入框中輸入要跳轉到的目標網頁的URL地址 * 選中“資源的永久重定向”(切記) * 最後點擊“應用” Apacheserver實現301重定向 相比較來說,Apache實現起來要比IIS簡單多了。

在Apache中。有個非常關鍵的文件.htaccess。通過對它的設置,能夠實現非常多強大的功能,301重定向僅僅是當中之中的一個。

redirect permanent /index.php http://www/index.php?go=category_6(將網頁index.php重定向到http://www./index.php?go=category_6) 通過合理地配置重定向參數中的正則表達式。能夠實現更復雜的匹配。有興趣的朋友可參考本站Apache手冊。

PHP下的301重定向 <?

Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: http://www" ); exit; ?

>

<html> <head> <title>HTTP/1.1 301 Moved Permanently</title> </head> <body> HTTP/1.1 301 Moved Permanently </body> </html> ASP下的301重定向 <%@ Language=VBScript %> <%
  1. Status="301 Moved Permanently"
  2. AddHeader "Location","http://"
%> ASP .NET下的301重定向 <script runat="server"> private void Page_Load(object sender, System.EventArgs e) {
  1. Status = "301 Moved Permanently";
  2. AddHeader ("Location","http://www);
} </script> ColdFusion下的301重定向 <.cfheader statuscode="301" statustext="Moved permanently"> <.cfheader name="Location" value="http://www."> 舊域名重定向到新域名 創建一個.htaccess文件,並將以下提供的代碼寫入文件內,它能夠確保舊域名全部的文件夾或者網頁正確的跳轉到新域名內。

記住.htaccess文件一定要放在舊站點的根文件夾下,而且新站點要和舊站點保持同樣的文件夾結構及網頁文件。

Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www/$1 [R=301,L] 請將上面的wwwdomaincom改動成你想要跳轉到的域名。

此外。我建議大家歸總舊網站的外部鏈接,並聯系對應的網站改動導入鏈鏈的URL。以指向新網站。 註意:.htaccess文件僅僅有在使用安裝有Mod Rewrite模塊的Apache作為WEBserver的Linux主機上才幹起作用。 域名301重定向到www的二級域名 首先要知道,www.是domaincom域下的一個二級域名。 301跳轉到www二級域的實現方式: 創建一個.htaccess文件。並將以下提供的代碼寫入文件內。它能夠確保全部來自對domaincom的請求都轉向到對www進行請求。

記住.htaccess文件一定要放在舊站點的根文件夾下。而且新站點要和舊站點保持同樣的文件夾結構及網頁文件。

Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^ [NC] RewriteRule ^(.*)$ http://www./$1 [L,R=301] 請將上面的domaincom改動成你想要跳轉到的域名。

註意:.htaccess文件僅僅有在使用安裝有Mod Rewrite模塊的Apache作為WEBserver的Linux主機上才幹起作用。 ASP下使用web.config來實現301重定向 假設站點根文件夾沒有web.config就新建一個文本文檔。保存成web.config就可以。代碼例如以下: <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^$" /> </conditions> <action type="Redirect" url="http://www/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 將此web.config上傳到站點根文件夾就可以。別忘了把上面的domaincom換成你的域名哦! 前提條件是:window主機的IIS版本號必須是7.0或以上的。 在博客中設置301的方法 這裏以Z-Blog為例具體介紹一下:
  1. 復制例如以下代碼,將代碼中”改成你自己的網址。
if request.ServerVariables("SERVER_NAME")" then
  1. Status="301 Moved Permanently"
  2. AddHeader "Location", ""
  3. End
end if
  1. 進入Z-Blog後臺,打開“文件管理”界面。
  2. 找到並打開站點根文件夾下的 default.asp 文件。

  3. 將以上代碼加進 default.asp 在下圖中紅框所看到的位置。
  4. 5. 最後確定無誤點擊——提交——保存


1. 站點server響應網頁瀏覽請求的運作流程 讓我們先來了解一下用戶/搜索引擎和站點一開始的交互流程。

當用戶或搜索引擎向一個站點server發出網頁瀏覽請求時。該server將:

  1. 通過域名server(DNS)將域名轉換為站點的IP地址,然後返回給客戶;
  2. 打開一個該IP套接口連接;
  3. 記下通過該套接口的一個HTTP數據流。
  4. 從WEBserver接收一個響應請求的HTTP數據流。

    該數據流包括狀態碼。狀態碼的值由HTTP協議所決定。

    這裏所說的“HTTP數據流”信息也叫“頭信息(Header)”。

    頭信息中包括了日期。server類型,通常還會有一條“200 OK”信息。假設一切良好。那麽網絡server就會將“200 OK”信息以及請求頁面發送出去。假設站點在這時候已經建立了重定向,那麽server就會在頭信息中包括一個“302 Moved Temporarily”或“301 Moved Permanent”之類的響應信息。

    搜索引擎會依據server頭信息中的內容作出決定。

什麽時候用301重定向 1.域名到期了不想續費,想換個域名。 2.在搜索引擎的搜索結果中出現了不帶www的域名,而帶www的域名缺沒有收錄,這個時候我們就能夠使用301重定向,來告訴搜索引擎我們目標的域名是哪一個。 3.空間server不穩定。換空間的時候。 301重定向和302跳轉浸染分解 做站點時我們經常傳說傳說傳聞301和302兩種跳轉編制。當然僅僅要一個字符分歧但是對於查找引擎而言卻有著極大的分歧的處所。 個別我們一個舊的URL棄之不用了,不能就這麽放著,而要經過一個跳轉。鏈接到新地址上,一來可以傳遞權重,而來也可以也許防止這個地址被查找引擎誤感觸死鏈接(地址失效)、或是304狀態碼即長時刻不更新(相應頁面還在但長時刻不更新)。

前者對查找引擎來講無疑是有非常壞影響的,爾後者不做跳轉也可沒堅苦。

當須要做跳轉的時分,有兩種可以遴選。

301和302。

非常多人感觸二者通用。實在否則。301跳轉對查找引擎是一種對比馴良的跳轉編制。也是查找引擎可以遭遇的跳轉編制,它告訴查找引擎,這個地址棄用了,永遠轉向一個新地址。

但是302就不不異了。

302是一種且則重定向,我們應當碰著過這樣一種表象,疇前經過查找引擎掀開一個小說頁面,但是彈出的功效卻是一個賣衣裳的商城網頁。這是一種非常嚴重的作弊步履。此刻百度算法升級查找功效中也非常少閃現這種頁面了。但是百度卻把這類且則重定向算作和劫持跳轉不異的步履。

在查找引擎看來這實在是一種作弊。

所以當我們在做頁面跳轉的時分必然要正視。利用的不可以是302重定向。而是301重定向。 域名到期了不想續費,想換個域名。

2.在搜索引擎的搜索結果中出現了不帶www的域名。而帶www的域名缺沒有收錄,這個時候我們就能夠使用301重定向。來告訴搜索引擎我們目標的域名是哪一個。 3.空間server不穩定,換空間的時候。

301重定向和302跳轉浸染分解 做站點時我們經常傳說傳說傳聞301和302兩種跳轉編制,當然僅僅要一個字符分歧但是對於查找引擎而言卻有著極大的分歧的處所。

個別我們一個舊的URL棄之不用了,不能就這麽放著。而要經過一個跳轉,鏈接到新地址上,一來可以傳遞權重,而來也可以也許防止這個地址被查找引擎誤感觸死鏈接(地址失效)、或是304狀態碼即長時刻不更新(相應頁面還在但長時刻不更新)。前者對查找引擎來講無疑是有非常壞影響的,爾後者不做跳轉也可沒堅苦。 當須要做跳轉的時分,有兩種可以遴選。301和302。非常多人感觸二者通用,實在否則。301跳轉對查找引擎是一種對比馴良的跳轉編制,也是查找引擎可以遭遇的跳轉編制,它告訴查找引擎,這個地址棄用了。永遠轉向一個新地址。

但是302就不不異了。

302是一種且則重定向。我們應當碰著過這樣一種表象,疇前經過查找引擎掀開一個小說頁面,但是彈出的功效卻是一個賣衣裳的商城網頁。這是一種非常嚴重的作弊步履。此刻百度算法升級查找功效中也非常少閃現這種頁面了,但是百度卻把這類且則重定向算作和劫持跳轉不異的步履。在查找引擎看來這實在是一種作弊。

所以當我們在做頁面跳轉的時分必然要正視,利用的不可以是302重定向,而是301重定向。

站點技術---301重定向