日韩精品成人无码专区免费-国产99久久久久久免费看-国产精品丝袜久久久久久不卡-国产精品无码一区二区三区

IIS7.5下的web.config 404配置問題與解決方法

發布時間:2024-03-28 點擊:230
本文介紹一個關于iis環境下web.config配置的經驗問題。在iis7.5中添加配置404頁面時遇到了一些問題,記錄如下:
一開始在<customerror>下的<error>節點配置404不起作用,由于程序運行在iis7.5集成模式下,經過msdn和google,發現需要在<system.webserver>節點中配置,我們知道<system.web>節點是iis7.0之前版本的主要配置節點,由于在ii7.0以后iis管道處理與asp.net管道處理進行了集成,這樣提高了asp.net的處理性能,具體這方面的資料請google,問題隨之而來,新增加的<system.webserver>節點中需要進行哪些修改以程序在iis7的集成模式下能完全生效,主要包含以下幾個方面:
(1) <modules> —–相當于<system.web>中的<httpmodules>
(2) <handlers> —–相當于<system.web>中的<httphandlers>
(3) <customerror>下的<error>—-相當于<system.web>中的<httperrors>
以上三點中,如果你的程序中有自定義的httpmodules或者httphandlers的話,那么第一點和第二點非常重要,具體資料請msdn
明白了這些,配置也就不難了,如下:
<httperrors errormode=detailedlocalonly> <remove statuscode=404 /> <error statuscode=404 path=/404.htm responsemode=executeurl /> </httperrors>補充說明:
errormode有三個值,分別為custom、detailedlocalonly、detailed,意思為對用戶與服務器端始終顯示自定義頁面、
只能服務器端顯示詳細出錯信息、對用戶與服務器端始終顯示詳細出錯信息。
responsemode有file、executeurl、redirect三個層,分別表示使用服務器端靜態文件、可執行的url、url轉向。
要注意:<httperrors>與<customerrors>是不同的,前者主要用于處理http相關的錯誤信息,而后者主要是處理應用程序級的錯誤頁轉向
附<customerrors>的一些細節說明:
同樣,如果application_error和<customererrors>同時存在,也存在執行順序的問題。因為優先級application_error事件> <customerrors>配置項,所以發生應用程序級錯誤時,優先執行application_error事件中的代碼,如果application_error事件中調用了server.clearerror()函數,<customererrors>配置節中的defaultredirect不起作用,因為exception已經被清除;如果application_error事件中沒用調用了server.clearerror()函數,錯誤頁會重新定位到defaultredict指定的url頁面,為用戶顯示友好出錯信息。
通過對.net提供的以上四種錯誤處理機制的分析,我們可以把它們從不同的角度分類,便于我們理解和使用。
1.從功能上分類:用于異常處理(handling exceptions)是page_error事件和application_error事件;用戶錯誤頁面重定向(redirecting the user to an error page)的是 errorpage屬性 和 <customerrors>配置項。
2.從錯誤處理的范圍分類:用于頁面級(page level)錯誤處理的是page_error事件 和 errorpage屬性;用于應用程序級(application level)錯誤處理的是application_error事件 和 <customerrors>配置項。
希望本文能對使用iis7.0及iis7.5的朋友們有幫助


如何購買一個好域名?購買域名需要多少錢?
虛擬主機云服務器近期價格
蘋果開啟為期四天的“黑五”購物活動 可惜中國無緣
租服務器和云服務器哪個好
打不開顯示無法解析地址-其他問題
注冊資料修改-域名及賬戶問題
3dmax網格怎么去掉 3dmax網格使用教程
新手想要域名該如何申請?有什么申請方法?