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