我正在尝试在Windows Server 2008 R2上运行MVC3应用程序。服务器正在运行IIS 7.5。应用程序使用匿名身份验证和v4.0框架应用程序池进行设置。我已经给了IUSR和IIS_IUSRS访问目录,直到我切换到使用服务帐户。
我尝试了以下内容:
我仍然收到HTTP 403.14响应:“HTTP错误403.14 - 禁止 Web服务器配置为不列出此目录的内容。“
如果我输入一个虚拟的index.html文件,该页面就会被提供。在我看来,模块不会拦截将请求指向家庭控制器的请求。
回答:虽然MartinHN的回答确实解决了这个问题,但在提供静态文件时会导致性能下降。由于他的回答,我开始做一些搜索,发现有一个IIS7修补程序可用,允许ASP.NET 4应用程序处理无扩展名的URL,而无需为每个请求运行所有模块。此修补程序可在此处获取:http://support.microsoft.com/kb/980368。安装此修补程序后,我的应用程序按预期提供内容,没有 Web.config更改。
答案 0 :(得分:3)
可能是以下之一...
检查你的web.config行:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
...
</system.webServer>
确保应用程序池设置为Integrated Pipiline。
您还可以尝试重置IIS中的处理程序映射。点击网站 - &gt;处理程序映射 - &gt;恢复为父级(链接应位于右侧边栏)。