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

Posted

技术标签:

【中文标题】HTTP 错误 403.14 - 禁止 - MVC4 .net 4.5 捆绑包【英文标题】:HTTP Error 403.14 - Forbidden - MVC4 .net 4.5 bundles 【发布时间】:2012-11-20 21:38:02 【问题描述】:

我使用 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)在cmd中运行%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 4) 检查我的应用程序池是否设置为集成模式 5) 检查它是否设置为使用 .net 4

【问题讨论】:

您提供资产的文件夹的权限是什么? @John 应用程序池和 ISUSR 都对该文件夹具有读取权限。 你能显示捆绑代码吗?您是否使用正确的目标框架检查编译调试是否为假? 我遇到了一些问题。有什么提示吗?还有 Windows 2008 R2 和 IIS 7 【参考方案1】:

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

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

【讨论】:

确实为我节省了很多时间...这解决了我的问题,我的“~/Content/Template”包与我的物理文件夹冲突。我需要做的就是重命名我的包的名称。 很高兴我的回答对您有所帮助。一天下午,这个让我发疯了几个小时!! 谢谢。你也帮了我!顺便说一句,你知道为什么这只发生在 css 包中吗?我在 js 包中有相同的配置,它工作正常。【参考方案2】:

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

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

【讨论】:

虽然它可能会解决问题,但这就像用火箭发射器杀死苍蝇一样。 runAllManagedModulesForAllRequests 对您的站点有性能影响,因为所有托管模块都将针对所有请求运行,包括对图像等静态文件的请求。【参考方案3】:

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

例如,如果您的样式包类似于“~/content/blahblah”,而您的 javascript 包类似于“~/scripts/blahblah”,则您必须在您的网络配置:

<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请求将被处理。

【讨论】:

【参考方案4】:

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

【讨论】:

谢谢你帮助我解决了这个问题。实际上对我来说,App_global.asax.compiled 文件丢失了!

以上是关于HTTP 错误 403.14 - 禁止 - MVC4 .net 4.5 捆绑包的主要内容,如果未能解决你的问题,请参考以下文章

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

HTTP 错误 403.14 - 禁止 asp.net 5 和 MVC 6 iis10

在 Windows 8 的 IIS 8 上使用 .NET 4.5 的 MVC 4 网站给出 403.14 禁止错误 [关闭]

HTTP 错误 403.14

HTTP错误403.14 - 访问网站时出现禁止错误

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