ASP中http狀態跳轉返回錯誤頁的問題

來源:互聯網
上載者:User

 IIS預設的錯誤頁是很不友好的,很多人看到預設的錯誤頁時都會說:網站打不開了!白白損失了這部分流量。而如果錯誤頁直接跳轉到首頁又對搜尋引擎很不友好,搞不好首頁還會被封掉。所以根據情況,有兩個方法解決這個問題:

 如果是部落格等內容型的網站,可以返回一個帶有404錯誤的搜尋方塊讓訪客搜尋,若是電子商務型網站,則可以返回一個帶有404錯誤的進度條進行跳轉。這兩種方法即照顧了訪客又顧及到了SEO。

可以在Google webmaster tools中查看自己網站錯誤頁有多少。

修改預設錯誤頁的方法很簡單:在IIS中按右鍵要管理的網站,在自訂錯誤中設定404為相應的錯誤資訊頁。這裡有兩種方式:

1、如果“訊息類型”你選擇的是“檔案”,則只能使用.html或htm結尾的檔案,否則使用者訪問錯誤頁時會出現代碼。用這種方式設定的錯誤頁,雖然.html檔案中沒有輸出404狀態,但IIS執行後會自動輸出404狀態。

2、如果你“訊息類型”選擇了“URL”,則必須用asp檔案(因為只有在asp檔案中才能設定404狀態),否則訪問錯誤頁時會返回200狀態代碼。還要在asp檔案中加上:

Copy to Clipboard#FormatImgID_0# 引用的內容:[www.veryhuo.com]<%Response.Status = "404 Not Found" %>

如果你希望定時跳轉到首頁,則也有兩種方法:

1、利用meta標籤的refresh進行跳轉

Copy to Clipboard#FormatImgID_1# 引用的內容:[www.veryhuo.com]<meta http-equiv="refresh" content="3;url=http://www.veryhuo.com>

據Google中文部落格管理員介紹,Yahoo就使用的此方法進行跳轉。

2、使用js進行跳轉

Copy to Clipboard#FormatImgID_2# 引用的內容:[www.veryhuo.com]<script style="text/javascript"> 
setTimeout("testTime()",2500); 
function testTime() { 
location = "http://www.veryhuo.com/"; 

</script>

我感覺使用js的方法好一些,因為meta標籤跳轉擔心搜尋引擎會識別為“200”或“302”見這裡的這段話:

常常看到許多網站的自訂404錯誤頁面採取類似這樣的形式:首先顯示一段錯誤資訊,然後,通過Meta Refresh將頁面跳轉到網站首頁、網頁地圖或其他類似頁。根據具體實現方式不同,這類404頁面可能返回“200”狀態代碼,也可能返回“302臨時重新導向”,但不論哪種,從SEO技術角度看,均不是一種合適的選擇。

對“200”狀態的情況我們上面已經談過,那麼,當404頁面返回“302”時,搜尋引擎會怎麼對待呢?從理論上說,對“302”錯誤,搜尋引擎認為該網頁是存在的,只不過臨時改變了地址,仍然會索引收錄該頁,這樣,同樣會出現類似於“200”狀態代碼時的重複文本問題;其次,以google為代表的主流搜尋引擎對302重新導向的適用範圍要求越來越嚴格,這類不當使用302重新導向的情況存在很大的風險。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.