404 not found其實(shí)代表一個(gè)404頁(yè)面,當用戶(hù)在瀏覽網(wǎng)頁(yè)的時(shí)候,由于 服務(wù)器無(wú)法正常提供信息,或者是服務(wù)器無(wú)法回應,且不知道原因而返回的錯誤頁(yè)面。目的是告訴搜索引 擎該頁(yè)面不存在,不再讓搜索引擎爬蟲(chóng)去繼續訪(fǎng)問(wèn)這個(gè)頁(yè)面了!
為什么會(huì )出現404 not found呢?404 not found觸發(fā)的原因 有以下幾種:
1、用戶(hù)由于輸入鏈接地址錯誤,從而導致IIS提示404 not found。
2、服務(wù)器上原有頁(yè)面被刪除了,這種情況多發(fā)生大型論壇中,BBS論壇為了保障服 務(wù)器的資源合理運用,都會(huì )將過(guò)期或非常久遠的信息頁(yè)面刪除,導致404 not found。
3、當用戶(hù)在國內訪(fǎng)問(wèn)一些被禁止訪(fǎng)問(wèn)的國外網(wǎng)站時(shí),會(huì )出現 404 not found的現象,這需要使用代理服務(wù)器才能正常瀏覽。
404 not found怎么解決?
1、由于網(wǎng)頁(yè)內容路徑改變而導致 404 not found時(shí),我們可在IIS 中定義404錯誤指向一個(gè)動(dòng)態(tài)頁(yè)面,在頁(yè)面里面使用301 重定向跳轉到新的地址,此時(shí)服務(wù)器返回301狀態(tài)碼。
2、設計一個(gè)html文件,將404 指向該 html 文件,此時(shí)頁(yè)面將返回404狀態(tài)碼
打開(kāi)IIS管理器-->點(diǎn)擊要設置自定義404的網(wǎng)站的屬性-->點(diǎn)擊自定義錯誤選 項-->選中404頁(yè)-->選中并打開(kāi)編輯屬性-->設置成 URL --> URL 里 填寫(xiě)“/err404.html”-->按確定退出再把做好的err404.html 頁(yè)面上傳到網(wǎng)站根目 錄下。此處在“消息類(lèi)型”中一定要選擇“文件”或“默認值”,而不 要選擇“URL”,不然,將導致返回“200”狀態(tài)碼。
3、將404指向一個(gè)動(dòng)態(tài)頁(yè)面
比如error.asp,如果不在頁(yè)面里面進(jìn)行設置,僅僅是返回提示的HTML 代碼, 將導致頁(yè)面返回200 狀態(tài)碼,這是不正確的,我們可以在顯示完提示內容后,增加語(yǔ)句: Response.Status="404 Not Found" ,這樣保證頁(yè)面返回404狀態(tài)碼 。
4、Apache下設置404錯誤頁(yè)面
為Apache Server設置404錯誤頁(yè)面的方法很簡(jiǎn)單,只需在.htaccess 文 件中加入如下內容即可,ErrorDocument 404 /notfound.php