佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 301重定向實現(xiàn)方法,及對網(wǎng)站優(yōu)化的作用

301重定向實現(xiàn)方法,及對網(wǎng)站優(yōu)化的作用

熱門標簽:網(wǎng)站建設 美圖手機 檢查注冊表項 硅谷的囚徒呼叫中心 阿里云 使用U盤裝系統(tǒng) 智能手機 百度競價點擊價格的計算公式

 什么是301重定向呢? 

   301重定向是當用戶或搜索引擎向網(wǎng)站服務器發(fā)出瀏覽請求時,服務器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉移到另一個地址。其它常見的狀態(tài)碼還包括,200表示一切正常,404網(wǎng)頁找不到,302暫時轉向,等等。 

   為什么要用301轉向? 

   網(wǎng)址轉向方法主要包括:301轉向,302轉向,JavaScript轉向,PHP/ASP/CGI轉向,META REFRESH網(wǎng)頁META刷新等。302轉向可能會有URL規(guī)范化問題。其它方法都是常用的作弊手法,當然不是說不可以正當?shù)赜?,方法本身沒有錯,但被作弊者用多了,搜索引擎對這些可疑的轉向都很敏感。何必冒險呢。 

   關于301轉向和網(wǎng)址規(guī)范化問題,大家可以去閱讀下ZAC寫的文章。本文,僅僅討論在ASP環(huán)境下,如何設置301重定向問題;其他語言亦可參考。 

   我們知道,網(wǎng)站的首頁一般有以下幾種: 

http://jb51.net 
https://www.jb51.net 
http://jb51.net/index.asp 
https://www.jb51.net/index.asp 
…… 

   很自然的,以上的這些網(wǎng)址形式都指向到了一個網(wǎng)站,如果在搜索引擎中都啟用這些形式,那么,網(wǎng)頁權重,PR都會分散到這幾個網(wǎng)址上,雖然,它們都是一個網(wǎng)站,而這不是我們想要的結果。那么,如何將以上的首頁形式都定向到自己想要的網(wǎng)址上呢,比如https://www.jb51.net,從而使得這些分散的網(wǎng)頁權重,PR都集中到www.jb51.net上。這里就需要使用301永久重定向了。 

   ASP語言下,我們需要在默認首頁,如index.asp頂部最上方加入以下代碼: 

<% 
Dim dm,sn 
dm=Request.ServerVariables("Server_name")  '獲取域名 
'這里的3是指www的長度 
if left(dm,3)<>"www" then 
Response.Status="301 Moved Permanently"  
Response.AddHeader "Location", "https://www.jb51.net" 
Response.End 
end if 
%> 

   這里的代碼是經(jīng)過flymorn加工后的,您也可以根據(jù)實際需要對本代碼進行適當?shù)男薷囊赃m合你需求的樣式。本代碼自動校驗沒有輸入www的,301跳轉到www.jb51.net這個網(wǎng)址上,從而使得網(wǎng)頁權重得到累加,達到SEO優(yōu)化的目的。 

   但這里出現(xiàn)一個問題,如果有鏈接指向到https://www.jb51.net/index.asp(比如站內鏈接),那么搜索引擎也同樣會給這個網(wǎng)址形式加分,雖然index.asp是默認首頁,但我們希望的是把所有權重都給與https://www.jb51.net這個形式。有人說,這兩個形式不是都一樣嗎?不一樣。比如:https://www.jb51.net的PR為0,而https://www.jb51.net/index.asp的PR為2。從這點可以看出,SE是給與是否有index.asp的網(wǎng)址形式以不同的權重的。而使用Request.ServerVariables("SCRIPT_NAME")或Request("url")獲取到的后綴無論輸入時是否帶有index.asp都一律返回index.asp,從而導致無法判斷,也無法使用301重定向,當然這是指僅asp語言環(huán)境。 

   目前解決方法就是,利用js獲取當前網(wǎng)址window.location.href,然后把這個當前網(wǎng)址寫入cookies;asp讀取這個cookies,從而判斷網(wǎng)址中是否包含index.asp,如果包含,就使用301重定向。建議:在任何鏈接中避免有直接指向index.asp的形式,包括外鏈及內鏈,尤其是內鏈。這只是一個折中的方法。針對該問題,希望與各位高手一起討論。如果您有其他解決的方法,請留下您的評論。 

   利用js通過cookies給asp傳遞網(wǎng)址的代碼如下:  

復制代碼 代碼如下:

<script language="javascript">  
var url=window.location.href.toLowerCase(); //小寫  
document.cookie = "urlck" + "=" + escape(url);  
</script>  

<%  
Dim sn  
sn=request.cookies("urlck")  '獲取后綴  
response.cookies("urlck")=""  '清空cookies  

if right(sn,11)="default.asp" then  
Response.Status="301 Moved Permanently"   
Response.AddHeader "Location", "https://www.jb51.net"  
Response.End  
end if  
%>  

   但是很遺憾,如果這些網(wǎng)址形式不是實際上的人為輸入,而是搜索引擎訪問的結果,搜索引擎又是忽略JS的,也就是說,js里賦值的cookie并不能被SE識別,從而導致也無法使用301跳轉。這個問題有待解決。 

   其他語言下的301重定向: 

1、Unix/Linux+Apache主機,在.htaccess文件中增加301轉向指令,采用 mod_rewrite 技術,如:PHP代碼 
復制代碼 代碼如下:


Options +FollowSymLinks       
RewriteEngine on       
RewriteCond %{HTTP_HOST} ^www.jb51.net [NC]       
RewriteRule ^(.*)$ http://jb51.net/$1 [L,R=301]     


2、Window+IIS主機,在服務器軟件的系統(tǒng)管理員配置中設置,方法: 

打開Internet信息服務管理器,在欲重定向的網(wǎng)頁或目錄上按右鍵,選中“重定向到URL”,在對話框中輸入目標頁面的地址,記得選中“資源的永久重定向”->“應用” 。 

3、用PHP/ASP .NET實現(xiàn)301轉向(HTML無法做301轉向),方法如下: 

1)用PHP實現(xiàn) 

PHP代碼 
復制代碼 代碼如下:

<? Header( "HTTP/1.1 301 Moved Permanently" );      
Header( "Location: http://jb51.net" );?>     

2)用ASP.NET實現(xiàn) 

ASP/Visual Basic代碼  
復制代碼 代碼如下:

<script runat="server">      
private void Page_Load(object sender, System.EventArgs e)      
{      
Response.Status = "301 Moved Permanently";      
Response.AddHeader("Location","http://jb51.net");      
}      
</script>     

   經(jīng)過這些設置后,301轉向應該可以配置OK啦,如果想檢查一下是否正確,則可以使用網(wǎng)上提供Server Header檢查工具,如Check Server Headers Tool - HTTP Status Codes Checker。 

   用以上檢測http狀態(tài)碼工具,可以做個簡單的檢查,如檢查http://jb51.net,返回的結果如下: 

#1 Server Response: http://jb51.net 
HTTP Status Code: HTTP/1.1 301 Moved Permanently 
Connection: close 
Date: Mon, 25 Feb 2008 01:54:09 GMT 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 
Location: https://www.jb51.net 
Content-Length: 0 
Content-Type: text/html 
Set-Cookie: ASPSESSIONIDACBCSBDR=FCJELLLALFNPOCMBNMOLMJHN; path=/ 
Cache-control: private 
Redirect Target: https://www.jb51.net 

#2 Server Response: https://www.jb51.net 
HTTP Status Code: HTTP/1.1 200 OK 
Connection: close 
Date: Mon, 25 Feb 2008 01:54:13 GMT 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 
Content-Length: 29330 
Content-Type: text/html 
Set-Cookie: ASPSESSIONIDACBCSBDR=GCJELLLAECPBADKMADAJOBLC; path=/ 
Cache-control: private 


   注意以上返回的結果中第二行“HTTP Status Code: HTTP/1.1 301 Moved Permanently”,說明這個網(wǎng)址采用了301永久重定向功能了,設置成功。如果您對本文有任何看法,歡迎留下您的評論,以便我們一起探討。

標簽:山南 黃山 懷化 通遼 湖北 湘潭 賀州 煙臺

巨人網(wǎng)絡通訊聲明:本文標題《301重定向實現(xiàn)方法,及對網(wǎng)站優(yōu)化的作用》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黄山市| 惠来县| 台江县| 白山市| 泽州县| 集安市| 秦安县| 贵德县| 兴仁县| 鄢陵县| 闽侯县| 吴忠市| 桓台县| 曲松县| 建宁县| 堆龙德庆县| 大新县| 阳曲县| 日照市| 曲松县| 合作市| 贡山| 潞城市| 介休市| 高安市| 吉安市| 长春市| 永吉县| 阿荣旗| 禄丰县| 新化县| 山西省| 南华县| 屏南县| 丰原市| 阳朔县| 勃利县| 谷城县| 贵定县| 和政县| 哈密市|