IIS7.5下的web.config 404配置的一些问题
本文介绍一个关于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的朋友们有帮助:)
- IIS 7.5 HTTP 错误 404.3 - Not Found错误的解决方法
- IIS自定义404错误页避免暴露.NET网站路径信息
- IIS 8.5下设置404错误页图文教程
- IIS 8.5下设置自定义404错误页
- win8下IIS 8.5下设置404错误页
- IIS HTTP 错误 404.17 - Not Found 解决方法
- IIS部署asp.net报404错误的解决方法
- IIS发布以后handle文件找不到404错误的解决方法
- IIS6上配置404页面的图文教程(url+文件)
- IIS下自定义404页面返回200状态码的严重性及解决方法
- IIS设置404页面图文教程(选择URL还是文件 )
- asp.net 利用IIS的404错误将文件重写成目录的简单方法
- win2003 iis 404 设置方法与小技巧
- win2008 r2中IIS7.5及以上设置404错误页面的正确方法
相关文章
64 位 ASP.Net 已注册 需要 32 位 ASP.Net 才能安装 Microsoft Reporting
这篇文章主要介绍了64 位 ASP.Net 已注册 需要 32 位 ASP.Net 才能安装 Microsoft Reporting,需要的朋友可以参考下2015-08-08Provider错误80004005终极解决方法(完全有效的方法)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet2014-05-05windows7 安装iis7.0图文教程(不需要单独的安装包)
微软没有提供独立的iis7.0安装包,目前,网上也没有可靠的提取包。正常的windows7版本(非精简版),安装系统之后都可以直接进行iis的安装,并不需要安装盘。2012-09-09win2003 jsp运行环境架设心得(jdk+tomcat)
这几天一直研究架设JSP服务器,之前一切都是默认安装,能成功;能看到一只猫,可真正要上线时,要实现多站点就一直404不行;不知道百度跟google将近一天都不行,看了N多网页尝试不行2012-12-12Windows server 2012 R2 双AD域搭建图文教程(AD+DHC
本文主要介绍了Windows server 2012 R2 双AD域搭建图文教程(AD+DHCP+DNS),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-04-04针对aspx木马可以读取iis站点信息,跨网站目录的临时解决方法
针对aspx木马可以读取iis站点信息,跨网站目录的临时解决方法,需要的朋友可以参考下2012-01-01防止黑客侵入你正在使用的Windows系统(克隆管理员账户)
当黑客入侵一台主机后,会想方设法保护自己的“劳动成果”,因此会在肉鸡上留下种种后门来长时间得控制肉鸡,其中使用最多的就是账户隐藏技术2012-07-07Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁
这篇文章主要介绍了Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁,需要的朋友可以参考下2016-06-06
最新评论