当前位置: 首页 > 编程笔记 >

IIS7.5下的web.config 404配置的一些问题

裴昕
2023-03-14
本文向大家介绍IIS7.5下的web.config 404配置的一些问题,包括了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的朋友们有帮助:)

 类似资料:
  • 本文向大家介绍Win2008 R2中IIS7.5配置完网站权限不足问题的解决方法,包括了Win2008 R2中IIS7.5配置完网站权限不足问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法: 常见问题: HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内

  • 本文向大家介绍详解配置spring-boot-actuator时候遇到的一些小问题,包括了详解配置spring-boot-actuator时候遇到的一些小问题的使用技巧和注意事项,需要的朋友参考一下 前言 spring-boot-actuator是一个spring-boot提供的用于监控组件,只需要在代码中加入依赖就可以了 遇到的一些小问题 1.可以加入依赖 来保证actuator暴露接口的安全性

  • 我有一个关于JMS和Spring集成的问题。 我有3个队列,让我们称它们为QUEUE_SOURCE、QUEUE_TARGET和QUEUE_ERROR。DefaultMessageListenerContainer用于从队列源读取消息。 我已经为这些队列配置了JMS事务管理器。 当我从QUEUE_源读取消息,但将消息发布到QUEUE_目标时出错时,我可以看到在抛出异常之前,消息会重试几次,从而触发回

  • 如果配置是 访问 http://localhost:8002/about/ 会返回 403 禁止 访问 http://localhost:8002/about/ 会返回 html 目录下的 index.html 文件,这是符合预期的 访问 http://localhost:8002/about/ 会不断进行重定向生成 http://localhost:8002/about/index.html/i

  • 我正面临以下问题,请看一下。提前谢了。 在/var/lib/jenkins/.SSH/known_hosts中搜索lokesh:在/var/lib/jenkins/.SSH/known_hosts[06/04/20 12:59:45][SSH]中搜索lokesh:22警告:该主机的已知主机文件中目前不存在任何条目。连接将被拒绝,直到这个新主机及其关联的密钥被添加到已知主机文件中。密钥交换未完成,连

  • 本文向大家介绍解决tp5在nginx下修改配置访问的问题,包括了解决tp5在nginx下修改配置访问的问题的使用技巧和注意事项,需要的朋友参考一下 第一:修改nginx配置 注意:所有配置都是基于lnmp1.4的一键安装环境的 根据自己的nginx配置,找到正确的fastcgi.conf,修改fastcgi_param参数 将默认的路径修改至自己的项目根目录的上一级,注意是上级!!! 3、lnmp