404頁面的目的
404頁面的目的是:告訴瀏覽者其所請(qǐng)求的頁面不存在或鏈接錯(cuò)誤,同時(shí)引導(dǎo)用戶使用網(wǎng)站其他頁面而不是關(guān)閉窗口離開。
錯(cuò)誤原因
HTTP 404 錯(cuò)誤意味著鏈接指向的網(wǎng)頁不存在,即原始網(wǎng)頁的URL失效,這種情況經(jīng)常會(huì)發(fā)生,很難避免,比如說:網(wǎng)頁URL生成規(guī)則改變、網(wǎng)頁文件更名或移動(dòng)位置、導(dǎo)入鏈接拼寫錯(cuò)誤等,導(dǎo)致原來的URL地址無法訪問;當(dāng)Web 服務(wù)器接到類似請(qǐng)求時(shí),會(huì)返回一個(gè)404 狀態(tài)碼,告訴瀏覽器要請(qǐng)求的資源并不存在。
404錯(cuò)誤頁面導(dǎo)致這個(gè)錯(cuò)誤的原因一般來說,有三種:
1、無法在所請(qǐng)求的端口*問Web站點(diǎn)。
2、Web服務(wù)擴(kuò)展鎖定策略阻止本請(qǐng)求。
3、MIME映射策略阻止本請(qǐng)求。
解決方法
把缺少的網(wǎng)頁文件恢復(fù)到正確的位置,重新設(shè)置網(wǎng)絡(luò)服務(wù)。對(duì)于用戶來講,需要檢查你所輸入的網(wǎng)絡(luò)地址是否正確。
怎么設(shè)置:
1. 對(duì)于存在的網(wǎng)頁內(nèi)容由于路徑改變而導(dǎo)致訪問不了時(shí),可在IIS 中定義404錯(cuò)誤指向一個(gè)動(dòng)態(tài)頁面,在頁面里面使用301永久重定向跳轉(zhuǎn)到新的地址,此時(shí)服務(wù)器返回301狀態(tài)碼。
2、設(shè)置404指向一個(gè)設(shè)計(jì)好的html 文件,此時(shí)頁面返回的404狀態(tài)碼。 現(xiàn)在的idc提供商基本都提供404設(shè)置的功能,直接上傳文件設(shè)置即可。在IIs中設(shè)置方法:打開IIS管理器-->點(diǎn)擊要設(shè)置自定義404的網(wǎng)站的屬性-->點(diǎn)擊自定義錯(cuò)誤選項(xiàng)-->選中404頁-->選中并打開編輯屬性-->設(shè)置成 URL --> URL 里填寫“/err404.html”-->按確定退出再把做好的err404.html 頁面上傳到網(wǎng)站根目錄下。此處在“消息類型”中一定要選擇“文件”或“默認(rèn)值”,而不要選擇“URL”,不然,將導(dǎo)致返回“200”狀態(tài)碼。
3、404指向一個(gè)動(dòng)態(tài)頁面,比如error.asp,如果不在頁面里面進(jìn)行設(shè)置,僅僅是返回提示的HTML 代碼,將導(dǎo)致頁面返回200 狀態(tài)碼,這是不正確的,我們可以在顯示完提示內(nèi)容后,增加語句: Response.Status="404 Not Found" ,這樣就保證頁面返回404狀態(tài)碼。
4、Apache下設(shè)置404錯(cuò)誤頁面。為Apache Server設(shè)置404錯(cuò)誤頁面的方法很簡單,只需在.htaccess 文件中加入如下內(nèi)容即可,ErrorDocument 404 /notfound.php
自定義404錯(cuò)誤頁面是增強(qiáng)用戶體驗(yàn)的很好的做法,但在應(yīng)用過程中往往并未注意到對(duì)搜索引擎的影響,譬如:錯(cuò)誤的服務(wù)器端配置導(dǎo)致返回“200”狀態(tài)碼或自定義404錯(cuò)誤頁面使用Meta Refresh導(dǎo)致返回“302”狀態(tài)碼。正確設(shè)置的自定義404錯(cuò)誤頁面,不僅應(yīng)當(dāng)能夠正確地顯示,同時(shí),應(yīng)該返回“404”錯(cuò)誤代碼,而不是 “200”或“302”。雖然對(duì)訪問的用戶而言,HTTP狀態(tài)碼究竟是“404”還是“200”來說并沒有什么區(qū)別,但對(duì)搜索引擎這則是相當(dāng)重要的。
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!