HTTP错误403.14 - 禁止 - MVC4 .net 4.5捆绑

时间:2012-11-20 21:38:03

标签: .net asp.net-mvc iis razor .net-4.5

我使用razor引擎创建了一个带有.net 4.5的MVC4应用程序。使用visual studio在本地运行时,它工作正常。

当我在Windows Server 2008 R2上部署到IIS(完成所有Windows更新)时,我的捆绑包不起作用且CCS未加载。我尝试在服务器上查看该站点,查看源代码转到css的bundle链接,然后加载一些css然后出现IIS错误:

  

HTTP错误403.14 - 禁止将Web服务器配置为不   列出该目录的内容。

我尝试过:

1)确保安装了.net 4.5 2)将<modules runAllManagedModulesForAllRequests="true"/>添加到我的web.config中 3)在cmd中跑%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 4)检查我的应用程序池是否已设置为集成模式
5)检查它是否设置为使用.net 4

4 个答案:

答案 0 :(得分:46)

您可以在此处找到答案:ASP.NET MVC framework 4.5 CSS bundles does not work on the hosting

简短的回答是确保您的软件包名称与您网站中的路径名称不冲突。

答案 1 :(得分:7)

这为我解决了(解决方案来自MVC4 HTTP Error 403.14 - Forbidden

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

答案 2 :(得分:2)

确保在您的web.config中启用了对“虚拟”捆绑路径的匿名访问。

例如,如果您的样式包类似于“〜/ content / blahblah”,并且您的javascript包类似于“〜/ scripts / blahblah”,则必须打开anonymoys访问位置“内容”和“脚本”,如下所示web.config中:

<configuration>
 ...
 <location path="content">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>

 <location path="scripts">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>
 ...
</configuration>

这样,任何用户对虚拟路径“〜/ content”或“〜/ scripts”的任何请求都将被授予,并且将提供CSS和JS请求。

答案 3 :(得分:1)

导致403.14的另一个潜在问题是global.asax和/或web.config未在发布设置或部署中复制。