asp.net網(wǎng)站的404錯(cuò)誤頁(yè)面的正確設(shè)置方法第1/2頁(yè)
什么是404錯(cuò)誤
HTTP 404 錯(cuò)誤意味著鏈接指向的網(wǎng)頁(yè)不存在,即原始網(wǎng)頁(yè)的URL失效,這種情況經(jīng)常會(huì)發(fā)生,很難避免,比如說:網(wǎng)頁(yè)URL生成規(guī)則改變、網(wǎng)頁(yè)文件更名或移動(dòng)位置、導(dǎo)入鏈接拼寫錯(cuò)誤等,導(dǎo)致原來的URL地址無(wú)法訪問;當(dāng)Web 服務(wù)器接到類似請(qǐng)求時(shí),會(huì)返回一個(gè)404 狀態(tài)碼,告訴瀏覽器要請(qǐng)求的資源并不存在。但是,Web服務(wù)器默認(rèn)的404錯(cuò)誤頁(yè)面,無(wú)論Apache還是IIS,均十分簡(jiǎn)陋、呆板且對(duì)用戶不友好,無(wú)法給用戶提供必要的信息以獲取更多線索,無(wú)疑這會(huì)造成用戶的流失。
404頁(yè)面的作用
搜索引擎通過HTTP狀態(tài)碼來識(shí)別網(wǎng)頁(yè)的狀態(tài)。當(dāng)搜索引擎獲得了一個(gè)錯(cuò)誤鏈接時(shí),網(wǎng)站應(yīng)該返回404狀態(tài)碼,告訴搜索引擎放棄對(duì)該鏈接的索引。而如果返回200或302狀態(tài)碼,搜索引擎就會(huì)為該鏈接建立索引,這導(dǎo)致大量不同的鏈接指向了相同的網(wǎng)頁(yè)內(nèi)容。結(jié)果是,搜索引擎對(duì)該網(wǎng)站的信任度大幅降低。
如何檢查自定義404頁(yè)面能夠返回“404”狀態(tài)碼
在自定義404錯(cuò)誤頁(yè)面設(shè)置完畢后,一定要檢查一下其是不是能夠正確地返回“404”狀態(tài)碼。檢查的方法也相當(dāng)簡(jiǎn)單,輸入一個(gè)網(wǎng)站內(nèi)不存在網(wǎng)頁(yè)的url,查看一下HTTP Header的返回情況,確信其返回的是“404”狀態(tài)碼。
404頁(yè)面的正確做法
1、Apache服務(wù)器404頁(yè)面的設(shè)置方法
在.htaccess 文件中加入代碼:ErrorDocument 404 /Error.html
建立一個(gè)簡(jiǎn)單的html404頁(yè)面命名 Error.html
把 Error.html放置在網(wǎng)站根目錄即可。
2、IIS/ASP.net下設(shè)置404錯(cuò)誤頁(yè)面
首先,修改應(yīng)用程序根目錄的設(shè)置,打開 “web.config” 文件編輯,在其中加入如下內(nèi)容:
<configuration> <system.web> <customErrors mode=”O(jiān)n” defaultRedirect=”error.asp”> <error statusCode=”404″ redirect=”notfound.asp” /> </customErrors> </system.web> </configuration> |
此例中“error.asp”為系統(tǒng)默認(rèn)的404頁(yè)面,“notfound.asp”為自定義的404頁(yè)面,使用時(shí)請(qǐng)修改相應(yīng)文件名。
然后,在自定義的404頁(yè)面“notfound.asp”中加入:
<% Response.Status = “404 Not Found” %> |
這樣,便可以保證IIS能夠正確地返回“404”狀態(tài)碼
友情提醒
1、一定不要將404錯(cuò)誤直接轉(zhuǎn)向到網(wǎng)站首頁(yè),這將可能導(dǎo)致你的網(wǎng)站首頁(yè)不被收錄;
2、/Error.html 前面請(qǐng)不要帶主域名(錯(cuò)誤的寫法:yzznl.cn/error.html,正確的寫法:/error.html),否者返回的狀態(tài)碼是302或200狀態(tài)碼。
- 運(yùn)行asp.net時(shí)出現(xiàn) http錯(cuò)誤404-文件或目錄未找到
- IIS部署asp.net報(bào)404錯(cuò)誤的解決方法
- asp.net運(yùn)行提示未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例錯(cuò)誤解決方法
- Asp.Net 程序錯(cuò)誤Runtime Error原因與解決
- asp.net 從客戶端中檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值錯(cuò)誤解
- asp.net 錯(cuò)誤:0x8007000B 異常的解決方法
- 解決ASP.NET中"/"應(yīng)用程序中的服務(wù)器錯(cuò)誤的方法
- ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法
- asp.net iis7默認(rèn)文檔錯(cuò)誤異常的解決方法
- ASP.NET MVC錯(cuò)誤處理的對(duì)應(yīng)解決方法
相關(guān)文章
silverlight用webclient大文件上傳的實(shí)例代碼
這篇文章介紹了silverlight用webclient大文件上傳的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10Asp.net core WebApi 使用Swagger生成幫助頁(yè)實(shí)例
本篇文章主要介紹了Asp.net core WebApi 使用Swagger生成幫助頁(yè)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04如何在 .NET 中使用 Flurl 高效處理Http請(qǐng)求
這篇文章主要介紹了如何在 .NET 中使用 Flurl 高效處理Http請(qǐng)求,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-05-05asp.net 在客戶端顯示服務(wù)器端任務(wù)處理進(jìn)度條的探討
由于 HTTP 協(xié)議本身的無(wú)狀態(tài)性,B/S結(jié)構(gòu)的程序無(wú)法像C/S程序那樣,實(shí)時(shí)顯示程序處理的進(jìn)度。搜索一下網(wǎng)上,一般都是采用靜態(tài)變量保存程序執(zhí)行進(jìn)度的方法實(shí)現(xiàn),但是,這種方法是完全錯(cuò)誤的,在并發(fā)的情況下,多個(gè)用戶訪問一個(gè)程序,會(huì)造成混亂。2009-09-09.NET異步編程總結(jié)----四種實(shí)現(xiàn)模式代碼總結(jié)
本篇文章主要介紹了.NET異步編程總結(jié)----四種實(shí)現(xiàn)模式,詳細(xì)的介紹了每種方法的實(shí)現(xiàn)和實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12.NET Core跨平臺(tái)執(zhí)行命令、腳本的方法詳細(xì)
這篇文章主要給大家介紹了關(guān)于.NET Core跨平臺(tái)執(zhí)行命令、腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05asp.net Datalist控件實(shí)現(xiàn)分頁(yè)功能
asp.net Datalist控件實(shí)現(xiàn)分頁(yè)功能代碼。大家可以參考下。2009-07-07Entity Framework Core對(duì)Web項(xiàng)目生成數(shù)據(jù)庫(kù)表
這篇文章介紹了Entity Framework Core對(duì)Web項(xiàng)目生成數(shù)據(jù)庫(kù)表的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03.Net項(xiàng)目中NLog的配置和使用實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于.Net項(xiàng)目中NLog的配置和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.Net具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07