27

我使用 razor 引擎用 .net 4.5 制作了一个 MVC4 应用程序。使用 Visual Studio 在本地运行时效果很好。

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

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

我试过的:

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

4

4 回答 4

46

你会在这里找到答案:ASP.NET MVC framework 4.5 CSS bundles does not work on the hosting

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

于 2012-12-08T02:57:23.040 回答
7

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

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>
于 2013-03-14T18:28:26.580 回答
2

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

例如,如果您的样式包类似于“~/content/blahblah”,而您的 javascript 包类似于“~/scripts/blahblah”,则您必须在 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请求将被处理。

于 2012-12-10T11:34:57.760 回答
1

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

于 2015-10-09T08:00:56.640 回答