首页 文章

在服务器上运行 MVC3 应用程序会导致 403.14 响应

提问于
浏览
4

我试图让一个 MVC3 应用程序在 Windows Server 2008 R2 上运行。服务器正在运行 IIS 7.5. 应用程序使用匿名身份验证和 v4.0 框架应用程序池进行设置。我已经给了 IUSR 和 IIS_IUSRS 访问目录,直到我切换到使用服务帐户。

我尝试过以下方法:

  • 使用 IIS 注册 ASP.NET 4(%windir% Frameworkv4.0.30319_ _aspnet_regiis.exe -ir)

  • 我已经从http://www.asp.net/mvc/mvc3在服务器上安装了 MVC3。

我仍然收到 HTTP 403.14 响应:“HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。”

如果我输入一个虚拟的 index.html 文件,页面就会被提供。在我看来,模块不会拦截将请求指向家庭控制器的请求。

答案:虽然 MartinHN 的答案确实解决了这个问题,但在提供静态文件时会导致性能损失。由于他的回答,我开始进行一些搜索,发现有一个 IIS7 修补程序可用,允许 ASP.NET 4 个应用程序处理无扩展名的 URL,而无需为每个请求运行所有模块。此修补程序可在此处获得:http://support.microsoft.com/kb/980368。安装此修补程序后,我的应用程序按预期提供内容,没有 Web.config 更改。

1 回答

  • 3

    可能是以下之一......

    检查你的 web.config 行:

    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
                ...
    </system.webServer>
    

    并确保应用程序池设置为 Integrated Pipiline。

    您还可以尝试重置 IIS 中的处理程序映射。单击站点 - >处理程序映射 - >还原为父级(链接应位于右侧栏)。

相关问题