什麼是404錯誤
HTTP 404 錯誤意味著連結指向的網頁不存在,即原始網頁的URL失效,這種情況經常會發生,很難避免,比如說:網頁URL建置規則改變、網頁檔案更名或移動位置、匯入連結拼字錯誤等,導致原來的URL地址無法訪問;當Web 服務器接到類似請求時,會返回一個404 狀態代碼,告訴瀏覽器要請求的資源並不存在。但是,Web伺服器預設的404錯誤頁面,無論Apache還是IIS,均十分簡陋、呆板且對使用者不友好,無法給使用者提供必要的資訊以擷取更多線索,無疑這會造成使用者的流失。
404頁面的作用
搜尋引擎通過HTTP狀態代碼來識別網頁的狀態。當搜尋引擎獲得了一個錯誤連結時,網站應該返回404狀態代碼,告訴搜尋引擎放棄對該連結的索引。而如果返回200或302狀態代碼,搜尋引擎就會為該連結建立索引,這導致大量不同的連結指向了相同的網頁內容。結果是,搜尋引擎對該網站的信任度大幅降低。
如何檢查自訂404頁面能夠返回“404”狀態代碼
在自訂404錯誤版面設定完畢後,一定要檢查一下其是不是能夠正確地返回“404”狀態代碼。檢查的方法也相當簡單,輸入一個網站內不存在網頁的url,查看一下HTTP Header的返回情況,確信其返回的是“404”狀態代碼。
404頁面的正確做法
1、Apache伺服器404頁面的設定方法
在.htaccess 檔案中加入代碼:ErrorDocument 404 /Error.html
建立一個簡單的html404頁面命名 Error.html
把 Error.html放置在網站根目錄即可。
2、IIS/ASP.net下設定404錯誤頁面
首先,修改應用程式根目錄的設定,開啟 “web.config” 檔案編輯,在其中加入如下內容:
<configuration> <system.web> <customErrors mode=”On” defaultRedirect=”error.asp”> <error statusCode=”404″ redirect=”notfound.asp” /> </customErrors> </system.web> </configuration> |
此例中“error.asp”為系統預設的404頁面,“notfound.asp”為自訂的404頁面,使用時請修改相應檔案名稱。
然後,在自訂的404頁面“notfound.asp”中加入:
<% Response.Status = “404 Not Found” %> |
這樣,便可以保證IIS能夠正確地返回“404”狀態代碼
友情提醒
1、一定不要將404錯誤直接轉向到網站首頁,這將可能導致你的網站首頁不被收錄;
2、/Error.html 前面請不要帶主網域名稱(錯誤的寫法:yzznl.cn/error.html,正確的寫法:/error.html),否者返回的狀態代碼是302或200狀態代碼。