本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 首 页
  • VPS/云主机
  • 交流论坛
  • IIS7.5下的web.config 404配置的一些问题
    时间:2019-06-02 10:10 来源:开源之家 作者:开源之家

    本文介绍一个关于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

    明白了这些,配置也就不难了,如下:

    ?

    1
    2
    3
    4
    <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的朋友们有帮助:)


    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 2225329841@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    Windows服务器安装PHP MongoDB扩展的方法Windows服务器安装PHP MongoDB扩展的方
    Windows Server 2016 IIS10 设置HTTPS HTTP/2 并跑分到 A+Windows Server 2016 IIS10 设置HTTPS
    阿里云Windows 2008一键安装包配置php web环境图文安装教程(IIS+Php+Mysql)阿里云Windows 2008一键安装包配置php
    开源之家广告栏目A
    开源之家广告栏目B
    开源之家广告栏目C
    在线客服
    客服微信

    扫一扫......加客服微信