當(dāng)網(wǎng)站進(jìn)行調(diào)整、頁(yè)面進(jìn)行修改的時(shí)候,便會(huì)有網(wǎng)頁(yè)被刪除、改名或移動(dòng)位置,這時(shí)候,雖然相應(yīng)內(nèi)容的網(wǎng)頁(yè)還存在于網(wǎng)站中,但使用原來(lái)的地址訪(fǎng)問(wèn)則無(wú)法訪(fǎng)問(wèn),或者由于拼寫(xiě)錯(cuò)誤導(dǎo)致一個(gè)無(wú)效的鏈接,都將使服務(wù)器返回404狀態(tài)碼。
相關(guān)服務(wù)器返回代碼介紹:
200 客戶(hù)端請(qǐng)求已成功響應(yīng);
301 永久重定向某個(gè)鏈接;
302 臨時(shí)重定向到某個(gè)鏈接;
404 訪(fǎng)問(wèn)的頁(yè)面暫時(shí)不存在。
當(dāng)網(wǎng)站進(jìn)行調(diào)整、頁(yè)面進(jìn)行修改的時(shí)候,便會(huì)有網(wǎng)頁(yè)被刪除、改名或移動(dòng)位置,這時(shí)候,雖然相應(yīng)內(nèi)容的網(wǎng)頁(yè)還存在于網(wǎng)站中,但使用原來(lái)的地址訪(fǎng)問(wèn)則無(wú)法訪(fǎng)問(wèn),或者由于拼寫(xiě)錯(cuò)誤導(dǎo)致一個(gè)無(wú)效的鏈接,都將使服務(wù)器返回404狀態(tài)碼。
但是,Web 服務(wù)器默認(rèn)的404錯(cuò)誤頁(yè)面,均十分簡(jiǎn)陋、呆板且對(duì)用戶(hù)不友好,無(wú)法給予用戶(hù)尋找相應(yīng)信息的更多線(xiàn)索,用戶(hù)看到這類(lèi)頁(yè)面往往最直接的反應(yīng)并是關(guān)閉瀏覽器窗口離開(kāi),這在很大程度上給網(wǎng)站造成損失。畢竟,對(duì)網(wǎng)站來(lái)說(shuō),用戶(hù)永遠(yuǎn)是最重要的資源,以這種方式損失用戶(hù)更意味著某種程度的失敗。
這也是許多網(wǎng)站使用自定義404錯(cuò)誤頁(yè)面的原因。通過(guò)良好的自定義404 頁(yè)面,可以包含對(duì)網(wǎng)站的相應(yīng)介紹、用戶(hù)可能感興趣的內(nèi)容鏈接或者網(wǎng)站內(nèi)容導(dǎo)航鏈接、內(nèi)容搜索功能等,能夠有效地幫助訪(fǎng)問(wèn)者找到其欲尋找的內(nèi)容或相似的內(nèi)容,提高用戶(hù)在網(wǎng)站內(nèi)瀏覽更多信息的機(jī)會(huì)。
正確定義404錯(cuò)誤頁(yè)面:
1. 對(duì)于已經(jīng)存在的信息由于路徑改變而導(dǎo)致訪(fǎng)問(wèn)不了時(shí),應(yīng)該在IIS 中定義404錯(cuò)誤指向一個(gè)動(dòng)態(tài)頁(yè)面,在頁(yè)面里面使用301 跳轉(zhuǎn)到新的地址,此時(shí)服務(wù)器返回301狀態(tài)碼。
2. 當(dāng)訪(fǎng)問(wèn)一個(gè)錯(cuò)誤的鏈接時(shí),將調(diào)用404頁(yè)面,但由于在IIS 里面設(shè)置的不同將導(dǎo)致返回不同的狀態(tài)碼:
1. 404指向的是一個(gè)htm 文件,此時(shí)頁(yè)面返回的404狀態(tài)碼,這是正確的。
2. 404指向的是一個(gè)URL,例如 /error.asp,如果不在頁(yè)面里面進(jìn)行設(shè)置,僅僅是返回提示的HTML 代碼,將導(dǎo)致頁(yè)面返回200 狀態(tài)碼,此時(shí)的危害在于,當(dāng)很多頁(yè)面找不到時(shí),都返回和訪(fǎng)問(wèn)正常頁(yè)面時(shí)返回一樣的200狀態(tài)碼,將使搜索引擎認(rèn)為該鏈接存在,并以錯(cuò)誤頁(yè)面的內(nèi)容進(jìn)行收錄,當(dāng)這樣的鏈接很多時(shí),將導(dǎo)致大量頁(yè)面重復(fù),使網(wǎng)站排名降低。處理方法:在顯示完提示內(nèi)容后,增加語(yǔ)句: Response.Status="404 Not Found" ,這樣就保證頁(yè)面返回404狀態(tài)碼。
3. 避免在調(diào)用404 頁(yè)面的時(shí)候返回302狀態(tài)碼,容易被搜索引擎認(rèn)為是重定向作弊。
4. 檢測(cè)方法,使用HttpWatch 查看返回代碼。參見(jiàn):在這個(gè)例子中,我請(qǐng)求的是http://www.sina.com.cn/1223.html ,新浪返回錯(cuò)誤頁(yè)面,然后5秒鐘后,使用js跳轉(zhuǎn)到首頁(yè)。