Iis web.config的System.webServer和System.web部分

Iis web.config的System.webServer和System.web部分,iis,configuration,error-handling,web-config,Iis,Configuration,Error Handling,Web Config,在web.config中有两个单独的部分来定义错误文档有什么意义 <system.webServer> ... <httpErrors errorMode="Custom"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="/ErrorPage_404.aspx" re

在web.config中有两个单独的部分来定义错误文档有什么意义

<system.webServer>
...
   <httpErrors errorMode="Custom">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/ErrorPage_404.aspx" responseMode="ExecuteURL" />
   </httpErrors>
...
</system.webServer>

...
...


...
...

如果删除第一节,IIS7将不会显示错误页面。如果我删除第二个,我的VS调试器将不会显示错误页面。

我一直认为system.web应用于IIS6及以下版本,而system.webServer应用于IIS7+,但实际上,似乎真正的答案是system.web通过其处理程序映射用于.aspx/.asp页面,其他所有内容都通过system.webServer


.

您以前是否将应用程序迁移到.Net Framework 4.0或IIS 7.5,并在IIS 6之后运行int?
<system.web>
...
   <customErrors defaultRedirect="/Forms/Errors/Error.aspx" mode="On">
      <error statusCode="404" redirect="/ErrorPage_404.aspx" />
   </customErrors>
...
</system.web>