在经典管道模式下,站点没有重定向到默认文档


IIS 7.5
Windows 7 64-bit
.NET 4.0

我在IIS 7.5中有一个。net 4.0站点。默认文档设置为home.aspx。

如果应用程序池管理的管道模式被设置为"Classic"http://localhost/mysite显示以下错误

Server Error in '/mysite' Application.
--------------------------------------------------------------------------------
The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 
Requested URL: /mysite

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1 

如果我进入http://localhost/mysite/home.aspx,网站显示正确。

如果我使用"Integrated"作为托管管道,使用任何路径都可以正确显示站点。

我已经尝试了早期IIS版本的EnableExtensionlessUrls修复,并且还将默认文档信息直接放在web.config中。这两种方法都不适用于"经典"管道模式。

知道为什么会这样吗?

KB980368引入了一个错误(一个[sic]更新可用,使某些IIS 7.0或IIS 7.5处理程序能够处理url不以句号结束的请求),该错误也被纳入Windows 7/2008R2 Service Pack 1。我们在推出WebMatrix虚拟主机验证所需的热修复程序时发现了这个错误。

查看我之前的问题和答案:

ASP。. NET 2.0和4.0在表单认证中对根url的处理似乎有所不同

我们向MS PSS提出了这个问题,虽然他们已经重现了这个问题,但他们还没有给出解决方案(PSS问题自11年2月23日以来一直开放)。到目前为止所发生的一切只是发布了一篇认识到这个问题的新KB文章:

由于无扩展URL处理程序(KB2520479), Web服务可能在Microsoft Internet Information services (IIS) 7.5和Windows 7 Service Pack 1 with .NET Framework 4.0上失败

文章提出了两种解决方案,第一种是无效的,另一种目前对我们来说并不完全理想。

然而,你所遇到的问题可能实际上并不相关,但我想我还是要分享一下。

最新更新