最近从 IIS 6 .net 2.0 迁移到 IIS 7.5 .net 4.0(ASP.Net Web 表单)的应用程序遇到问题
代码在 global.asax Application_BeginRequest 事件中执行自定义重写,并使用 HttpContext.Current.RewritePath() 方法进行重写。
当带有扩展名的错误请求(不存在的页面)传入/kentest/test.blah 时,事情会得到正确处理 - IIS 正确传递我们重定向到的自定义错误页面。
当传入的错误请求没有像/kentest/test 这样的文件扩展名时,IIS 无法正确传递自定义错误页面。我们陷入了一遍又一遍地重写相同的/kentest/test 的循环,直到 IIS 抛出递归 500 异常。
有什么想法可以解决这个问题并在扩展不工作的情况下获取请求吗?
其他人似乎也遇到过这个问题,如blog post提到但没有解决方案 已提供。
更新我们解决了这个问题
我们需要将以下内容添加到处理程序部分的 web.config 中:
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
最佳答案
我们需要将以下内容添加到处理程序部分的 web.config 中:
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
关于asp.net - IIS 7.5 – 应用 Windows Server 2008 R2 SP1 后无扩展 URI 处理的重大变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633611/