Asp.net IIS 7.5–;应用Windows Server 2008 R2 SP1后,无扩展URI处理发生了重大变化?

Asp.net IIS 7.5–;应用Windows Server 2008 R2 SP1后,无扩展URI处理发生了重大变化?,asp.net,configuration,error-handling,url-rewriting,iis-7.5,Asp.net,Configuration,Error Handling,Url Rewriting,Iis 7.5,最近从IIS 6.net 2.0迁移到IIS 7.5.net 4.0(ASP.net Web窗体)的应用程序出现问题 代码在global.asax应用程序_BeginRequest事件中执行自定义重写,并使用HttpContext.Current.RewritePath()方法执行重写 当一个带有扩展名的错误请求(一个不存在的页面)像/kentest/test.blah一样传入时,事情得到了正确的处理-IIS正确地传递了我们直接指向的自定义错误页面 如果传入的错误请求没有文件扩展名(如/kent

最近从IIS 6.net 2.0迁移到IIS 7.5.net 4.0(ASP.net Web窗体)的应用程序出现问题

代码在global.asax应用程序_BeginRequest事件中执行自定义重写,并使用HttpContext.Current.RewritePath()方法执行重写

当一个带有扩展名的错误请求(一个不存在的页面)像/kentest/test.blah一样传入时,事情得到了正确的处理-IIS正确地传递了我们直接指向的自定义错误页面

如果传入的错误请求没有文件扩展名(如/kentest/test),则IIS无法正确通过自定义错误页。我们陷入了一个反复重写相同的/kentest/test的循环,直到IIS抛出递归500异常

有没有办法解决这个问题,在没有扩展的情况下获得请求

其他人似乎遇到了这一问题,但没有解决办法 提供

更新我们解决了这个问题


我们需要在handlers部分的web.config中添加以下内容:

<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />

我们需要在handlers部分的web.config中添加以下内容:

<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />


您的重写规则针对的是无案例。它看起来像是你处理或重定向到错误的路径。当IIS正确地将404错误转换到我们的自定义错误页时,我们的重写将使用错误页并重写到它。当IIS没有正确地将404转换为自定义错误页面时,我们就遇到了问题