IIS7.5下的web.config 404配置的一些問題
本文介紹一個(gè)關(guān)于IIS環(huán)境下web.config配置的經(jīng)驗(yàn)問題。在IIS7.5中添加配置404頁(yè)面時(shí)遇到了一些問題,記錄如下:
一開始在<customError>下的<error>節(jié)點(diǎn)配置404不起作用,由于程序運(yùn)行在IIS7.5集成模式下,經(jīng)過MSDN和GOOGLE,發(fā)現(xiàn)
需要在<system.webServer>節(jié)點(diǎn)中配置,我們知道<system.web>節(jié)點(diǎn)是iis7.0之前版本的主要配置節(jié)點(diǎn),由于在II7.0以后IIS管
道處理與ASP.NET管道處理進(jìn)行了集成,這樣提高了ASP.NET的處理性能,具體這方面的資料請(qǐng)GOOGLE,問題隨之而來,新增加的
<system.webServer>節(jié)點(diǎn)中需要進(jìn)行哪些修改以程序在IIS7的集成模式下能完全生效呢,主要包含以下幾個(gè)方面:
(1) <modules> -----相當(dāng)于<system.web>中的<httpModules>
(2) <handlers> -----相當(dāng)于<system.web>中的<httpHandlers>
(3) <customError>下的<error>----相當(dāng)于<system.web>中的<httpErrors>
以上三點(diǎn)中,如果你的程序中有自定義的httpModules或者h(yuǎn)ttpHandlers的話,那么第一點(diǎn)和第二點(diǎn)非常重要,具體資料請(qǐng)MSDN
明白了這些,配置也就不難了,如下:
<httpErrors errorMode="DetailedLocalOnly"> <remove statusCode="404" /> <error statusCode="404" path="/404.htm" responseMode="ExecuteURL" /> </httpErrors>
補(bǔ)充說明:
errorMode有三個(gè)值,分別為Custom、DetailedLocalOnly、Detailed,意思為對(duì)用戶與服務(wù)器端始終顯示自定義頁(yè)面、
只能服務(wù)器端顯示詳細(xì)出錯(cuò)信息、對(duì)用戶與服務(wù)器端始終顯示詳細(xì)出錯(cuò)信息。
responseMode有File、ExecuteUrl、Redirect三個(gè)層,分別表示使用服務(wù)器端靜態(tài)文件、可執(zhí)行的URL、URL轉(zhuǎn)向。
要注意:<httpErrors>與<customErrors>是不同的,前者主要用于處理http相關(guān)的錯(cuò)誤信息,而后者主要是處理應(yīng)用程序級(jí)的錯(cuò)誤頁(yè)轉(zhuǎn)向
附<customErrors>的一些細(xì)節(jié)說明:
同樣,如果Application_Error和<customerErrors>同時(shí)存在,也存在執(zhí)行順序的問題。因?yàn)閮?yōu)先級(jí)Application_Error事件> <customErrors>配置項(xiàng),所以發(fā)生應(yīng)用程序級(jí)錯(cuò)誤時(shí),優(yōu)先執(zhí)行Application_Error事件中的代碼,如果Application_Error事件中調(diào)用了Server.ClearError()函數(shù),<customerErrors>配置節(jié)中的defaultRedirect不起作用,因?yàn)镋xception已經(jīng)被清除;如果Application_Error事件中沒用調(diào)用了Server.ClearError()函數(shù),錯(cuò)誤頁(yè)會(huì)重新定位到defaultRedict指定的URL頁(yè)面,為用戶顯示友好出錯(cuò)信息。
通過對(duì).NET提供的以上四種錯(cuò)誤處理機(jī)制的分析,我們可以把它們從不同的角度分類,便于我們理解和使用。
1.從功能上分類:用于異常處理(Handling exceptions)是Page_Error事件和Application_Error事件;用戶錯(cuò)誤頁(yè)面重定向(Redirecting the user to an error page)的是 ErrorPage屬性 和 <customErrors>配置項(xiàng)。 2.從錯(cuò)誤處理的范圍分類:用于頁(yè)面級(jí)(Page level)錯(cuò)誤處理的是Page_Error事件 和 ErrorPage屬性;用于應(yīng)用程序級(jí)(Application level)錯(cuò)誤處理的是Application_Error事件 和 <customErrors>配置項(xiàng)。
希望本文能對(duì)使用IIS7.0及IIS7.5的朋友們有幫助:)
- IIS 7.5 HTTP 錯(cuò)誤 404.3 - Not Found錯(cuò)誤的解決方法
- IIS自定義404錯(cuò)誤頁(yè)避免暴露.NET網(wǎng)站路徑信息
- IIS 8.5下設(shè)置404錯(cuò)誤頁(yè)圖文教程
- IIS 8.5下設(shè)置自定義404錯(cuò)誤頁(yè)
- win8下IIS 8.5下設(shè)置404錯(cuò)誤頁(yè)
- IIS HTTP 錯(cuò)誤 404.17 - Not Found 解決方法
- IIS部署asp.net報(bào)404錯(cuò)誤的解決方法
- IIS發(fā)布以后handle文件找不到404錯(cuò)誤的解決方法
- IIS6上配置404頁(yè)面的圖文教程(url+文件)
- IIS下自定義404頁(yè)面返回200狀態(tài)碼的嚴(yán)重性及解決方法
- IIS設(shè)置404頁(yè)面圖文教程(選擇URL還是文件 )
- asp.net 利用IIS的404錯(cuò)誤將文件重寫成目錄的簡(jiǎn)單方法
- win2003 iis 404 設(shè)置方法與小技巧
- win2008 r2中IIS7.5及以上設(shè)置404錯(cuò)誤頁(yè)面的正確方法
相關(guān)文章
HTTPERR的日志中出現(xiàn)大量Timer_MinBytesPerSecond,Timer_ConnectionIdle錯(cuò)
在\LogFiles\HTTPERR的日志中發(fā)現(xiàn)了大量Timer_MinBytesPerSecond,Timer_ConnectionIdle錯(cuò)誤,這里簡(jiǎn)單介紹下原因2013-05-05當(dāng)前標(biāo)識(shí)沒有對(duì)"Temporary ASP.NET Files"的寫訪問權(quán)限的解決辦法
這篇文章主要介紹了在IIS上部署程序后出現(xiàn)錯(cuò)誤-當(dāng)前標(biāo)識(shí)(NT AUTHORITY/NETWORK SERVICE)沒有對(duì)C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files的寫訪問權(quán)限,需要的朋友可以參考下2016-06-06讓手機(jī)訪問WAP網(wǎng)站服務(wù)器 IIS WAP服務(wù)器的MIME類型設(shè)置
這其實(shí)只需要一部支持wap的手機(jī),一臺(tái)電腦,一個(gè)網(wǎng)關(guān)(是硬件,一般由電信服務(wù)商提供)就可以了,網(wǎng)關(guān)可以臨時(shí)用電信的,所以你只需要有手機(jī)和電腦就可以了。2009-05-05讓網(wǎng)站W(wǎng)indows服務(wù)器之iis支持Webp圖片格式的方法(寶塔)
這篇文章主要介紹了讓網(wǎng)站W(wǎng)indows服務(wù)器之iis支持Webp圖片格式的方法,需要的朋友可以參考下2023-04-04HTTP 錯(cuò)誤 500.19- Internal Server Error 錯(cuò)誤解決方法
HTTP 錯(cuò)誤 500.19- Internal Server Error 錯(cuò)誤解決方法,碰到這個(gè)問題的原因有很多,大家可以參考下,看屬于哪種情況。2011-08-08IIS 應(yīng)用程序池自動(dòng)關(guān)閉的解決辦法
訪問站點(diǎn)。會(huì)導(dǎo)致應(yīng)用程序池自動(dòng)關(guān)閉,而出現(xiàn)Service Unavailable的提示。在允許和禁止一些WEB服務(wù)擴(kuò)展時(shí)會(huì)提示MMC有錯(cuò)誤。2009-06-06windows服務(wù)器之WSB(windows server backup)的備份和還原圖文方法
WSB(全稱:windows server backup)是windows server提供的備份和還原工具,主要還免費(fèi),這里簡(jiǎn)單為大家分享一下使用方法2023-06-06win2000服務(wù)器在IIS中使用SSL配置HTTPS網(wǎng)站
下面我們以WIN2000服務(wù)器版本的來做例子,介紹一下怎樣利用SSL加密HTTP通道來加強(qiáng)IIS安全的,需要的朋友可以參考下2017-03-03IIS做WEB服務(wù)器無法下載某些中文名文件的解決方法
文件名為2個(gè)、4個(gè)中文字時(shí)無法下載,而1個(gè)、3個(gè)、5個(gè)時(shí)沒有問題,具體的解決方法如下,感興趣的朋友可以參考下2013-09-09