404的基本理解就是網頁不存在,它是HTTP協議中的一個狀態碼。即使你自定義了404的頁面,但http頭信息返回的一定要是404狀態。這主要是對搜索引擎有關系,因為如果你網站產生較多頁面時候但搜索引擎看到的是很多一樣的正常頁面,有可能會誤被認為作弊。
本周我的分享主題:404中的學問。
404的基本理解就是網頁不存在,它是HTTP協議中的一個狀態碼。
最近需要通過404來解決一個問題,所以產生了一系列關於404的研究,總結一些小小收獲分享出來:
1.即使你自定義了404的頁面,但http頭信息返回的一定要是404狀態。這主要是對搜索引擎有關系,因為如果你網站產生較多頁面時候但搜索引擎看到的是很多一樣的正常頁面,有可能會誤被認為作弊。
2.404頁面不要自動跳轉,讓用戶來決定去向。
3.自定義404頁面內容不要太小,否則浏覽器不認。這個我可是吃過苦頭了,就因為這個原因折騰了一天。http的數據分為header和content ,對於浏覽器來說顯示什麼內容其實並不是header決定的而是content,也就是當header信息是404狀態的時候,如果你輸出的content有內容還應該象是一個頁面,那浏覽器就把你這個內容輸出給用戶,反之浏覽就會把它默認的404頁面顯示給用戶。
關於其它希望更多補充…
我們的404頁面,做了這麼幾個工作:
1.識別圖片,也就是說如果url是圖片那我返回的是圖片而不是html,這樣就不會造成,假設你的網站有些圖片被刪除後網站上顯示紅X的不好體驗。
2.重新生成靜態頁,在信息詳細頁如果靜態頁不存在可以在404頁觸發時被生成。
3.識別搜索引擎關鍵字,給用戶更好的引導信息,也就是如果用戶從搜索引擎進來的頁面是不存在的,那麼我們可以通過用戶在搜索引擎輸入的關鍵字提供我們網站的相關信息給用戶,以防止用戶直接流失,效果直接看下圖:
百度的某個關鍵字搜索:
http://www.baidu.com/s?wd=%B3%F6%CA%DB+%C3%C0%C8%CB%B1%AA+%BA%DA
用戶點擊上圖273的鏈接到達的下面的頁面: