404(HTTP狀態碼)

404(HTTP狀態碼)

HTTP 404Not Found錯誤信息是HTTP的其中一種“標準回應信息”(HTTP狀態碼),此信息代表客戶端在瀏覽網頁時,伺服器無法正常提供信息,或是伺服器無法回應且不知原因。

基本介紹

  • 中文名:網頁或檔案未找到
  • 外文名:NOT FOUND
  • HTTP狀態碼:404
  • 表示:伺服器無法回應且不知原因
影響,實現,設定,

影響

自定義404錯誤頁面是增強用戶體驗的很好的做法,但在套用過程中往往並未注意到對搜尋引擎的影響,譬如:錯誤的伺服器端配置導致返回“404”狀態碼或自定義404錯誤頁面使用Meta Refresh導致返回“302”狀態碼。正確設定的自定義404錯誤頁面,不僅應當能夠正確地顯示,同時,應該返回“404”錯誤代碼,而不是 “200”或“302”。雖然對訪問的用戶而言,HTTP狀態碼究竟是“404”還是“200”來說並沒有什麼區別,但對搜尋引擎這則是相當重要的。
搜尋引擎蜘蛛在請求某個URL時得到“404”狀態回應時,即知道該URL已經失效,便不再索引該網頁,並向數據中心反饋將該URL表示的網頁從索引資料庫中刪除,當然,刪除過程有可能需要很長時間;而當搜尋引擎得到“200”狀態碼時,則會認為該url是有效的,便會去索引,並會將其收錄到索引資料庫,這樣的結果便是這兩個不同的url具有完全相同的內容:自定義404錯誤頁面的內容,這會導致出現複製網頁問題。輕則被搜尋引擎降權,重則會K掉網站。

實現

改變伺服器默認錯誤頁面就可以達到效果。下面是一些可以使得訪客輕鬆實現正常訪問的建議。
遵循的理念:提供簡明的問題描述,消除訪客的挫敗感。提供合理的解決方案,輔助訪客完成訪問目標。提供個性化的友好界面,提升訪問體驗。
實現方式(按照從簡單到複雜的順序排列):
使得訪客轉到某個地方而不是後退。
頁面包含該站點重要部分的連結,如主頁或站點地圖。不要僅僅告訴他們檢查拼寫。使用文本的連結替代圖片,因為有許多訪客不會想到點擊這個圖片。
例子:我們的站點有一個主頁的返回連結。這是實現友好反饋的最低限度。此外,我們還會考慮,在有效的幫助信息不足的情況下,如何通過訪客的反饋彌補錯誤。
需要包括一個指向網站管理員的email連結,或者一個用於提交丟失連結的表格。
相對於傳送email,訪客更喜歡使用提交表格。
加入一個搜尋框用於搜尋站點。
例:MSN在所有頁面的底部都有一個搜尋框,同時也鏈向站點的重要部分。
在站點中列出接近於訪客期望頁面的連結,用於推測訪客正在尋找的頁面。你不需要採納上述所有的建議,但是這些建議一致服務於使得訪客更願意停留在你的站點的目的。
合理的404錯誤頁面至此即可以完成了,這將給訪客提供許多有價值的信息。

設定

1. 對於存在的網頁內容由於路徑改變而導致訪問不了時,可在IIS 中定義404錯誤指向一個動態頁面,在頁面裡面使用301永久重定向跳轉到新的地址,此時伺服器返回301狀態碼。
2、設定404指向一個設計好的html 檔案,此時頁面返回的404狀態碼。 idc提供商基本都提供404設定的功能,直接上傳檔案設定即可。在IIs中設定方法:打開IIS管理器-->點擊要設定自定義404的網站的屬性-->點擊自定義錯誤選項-->選中404頁-->選中並打開編輯屬性-->設定成 URL --> URL 里填寫“/err404.html”-->按確定退出再把做好的err404.html 頁面上傳到網站根目錄下。此處在“訊息類型”中一定要選擇“檔案”或“默認值”,而不要選擇“URL”,不然,將導致返回“200”狀態碼。
3、404指向一個動態頁面,比如error.asp,如果不在頁面裡面進行設定,僅僅是返回提示的HTML 代碼,將導致頁面返回200狀態碼,這是不正確的,我們可以在顯示完提示內容後,增加語句: Response.Status="404 Not Found" ,這樣就保證頁面返回404狀態碼。
4、Apache下設定404錯誤頁面。為Apache Server設定404錯誤頁面的方法很簡單,只需在.htaccess 檔案中加入如下內容即可,ErrorDocument 404 /notfound.php

相關詞條

熱門詞條

聯絡我們