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>配置项。

转载于:https://www.cnblogs.com/amylis_chen/p/5234780.html

IIS7.5下的web.config 404应该如何配置相关推荐

  1. 【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记

    问题 详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的"web.config"配置文件中创建一个 标记.然后应将此 标 ...

  2. web.config中namespace的配置(针对页面中引用)

    web.config中namespace的配置(针对页面中引用) 1,在页面中使用强类型时: @model GZUAboutModel @using Nop.Admin.Models//命名空间(注意 ...

  3. ASP.NET 多环境下配置文件web.config的灵活配置---转

    注意:本功能在.Net Core中已经不可用,暂时需手动修改web.config中的信息,或者将其设置在appsettings.XXX.json中,然后再使用web.config中的环境变量来制定使用 ...

  4. web.config中的session配置详解

    打开某个应用程序的配置文件Web.config后,我们会发现以下这段: < sessionState mode="InProc" stateConnectionString= ...

  5. web.config 中SessionState的配置 [转]

    一 http://hi.baidu.com/zyb512/blog/item/28ed858b3b88c015c9fc7af9.html web Form 网页是基于HTTP的,它们没有状态, 这意味 ...

  6. Web.config中创建自定义配置节

    Web.config文件可谓是每个ASP.NET站点必不可少的一个文件,其中记录了网站的各种配置.一些比较静态但是又可能变更的数据可以放在web.config中,已有的appSettings配置节便有 ...

  7. Web.config 无法识别的配置节 connectionStrings

    最近在WIN2000系统下一直碰到这个问题,我知道在2003下可以选择.NET的版本,但好象2000下是不能设置的,只要装了2003 和2005就可运行. 但是现在这个问题很奇怪,于是查了下 发现以下 ...

  8. 使用IConfigurationSectionHandler在web.config中增加自定义配置

    VS2008.ASP.NET 3.5 一. 场景    这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等. 二. 基本实现 ...

  9. Forms表单登陆,动态获取web.config里面的cookies配置

    以前写死的写法是 1: //设置登录权限 2: HttpCookie cook; 3: 4: string roles = "admin";//用户角色 5: 6: FormsAu ...

  10. Linux下Apache Web服务器的安装与配置

    1.Apache Web服务器简述     Web服务是目前Internet应用最流行.最受欢迎的服务之一,Linux平台使用最广泛的Web服务器是Apache,它是目前性能最优秀.最稳定的Web服务 ...

最新文章

  1. 激辩:机器究竟能否理解常识?
  2. 专家解读下一代互联网创新模式,核心技术是根本
  3. python 两台机器之间传递数据_Python:通过套接字在两台计算机之间发送数据
  4. C#基础总结之四List-Hashtable-冒泡排序
  5. intelli idea新建无scala class选项解决方案
  6. 运维自动化 第二章 openpyxl的用法,读写excel内容
  7. cairo-clock设置为自动启动后总是自动变为default主题
  8. Leetcode--136. 只出现一次的数字
  9. 爱情测试MySQL存储_性能测试四十:Mysql存储过程造数据
  10. 使用批处理设置、启动和停止服务
  11. 谷歌字体 Google Fonts
  12. [noip2011]铺地毯(carpet)解题报告
  13. Android - MTK系统源码结构
  14. 有缘-无缘-惜缘-随缘
  15. 什么是全球位置编号(GLN)?
  16. IOS界面push跳转后navigationController不显示
  17. 小米5S刷机认真看一眼就能会的简单详细教图文
  18. 解析android系统下Dex2oat的实现
  19. 怎么查询MySQL的安装路径?
  20. 黑马程序员——Java基础——网络编程1

热门文章

  1. 财富不入急门,投资且慢一点
  2. 前端性能优化如何做到极致?
  3. linux 压缩文件的命令总结
  4. 使用wwise音效引擎的好处
  5. 非旋转Treap及可持久化[Merge,Split]
  6. Base64 的 JavaScript 实现 js-base64
  7. 【winfrom】Excel文件加载
  8. 2017-2018-20155336 《信息安全系统设计基础》第六周学习总结
  9. 圆形刻度盘 进度 展示
  10. Failed to run the WC DB work queue associated with 错误的解决