【问题标题】:MVC4 style bundle giving 403MVC4 样式捆绑包给出 403
【发布时间】:2012-11-20 08:36:19
【问题描述】:

启用捆绑/缩小时,我的一些捆绑包在浏览器中似乎有一个无效的 URL(以 / 结尾),并且 IIS 给出了 403 禁止错误,就像试图列出文件夹的内容一样。

我的捆绑包的设置方式没有区别 - 它们不是 .min.css,访问权限正确等等。

【问题讨论】:

标签: .net asp.net-mvc razor asp.net-mvc-4 bundling-and-minification


【解决方案1】:

我的包被注册为与解决方案上的实际文件夹相对应的路径,例如~/Content/forum.

当捆绑被关闭时这工作正常(捆绑被正确包含!),但在启用捆绑时不行。

解决方案是将捆绑包的注册名称更改为与文件系统中存在的任何名称不同。

【讨论】:

  • 还要注意,如果 CSS 文件引用图像或其他与 CSS 相关的文件,请确保包文件名位于包含实际 CSS 的文件夹。例如,~/Content/myfolder/bundle 如果 CSS 在 Content/myfolder
  • 我有两个包:~/Content/kendo(用于 css)和 ~/bundles/kendo(用于脚本)。所以:403错误。当我更改其中之一的名称时 - 问题消失了。谢谢。
  • @KierenJohnstone 很抱歉没有具体说明,"Change the registered name of the bundle" 你是什么意思? - 我假设了 WE 分配的捆绑包的名称。喜欢(粗体部分)-> bundles.Add(new StyleBundle( "~/Content/css" ).Include("~/Content/site.css"));
  • 正确。这似乎是 FontAwesome nuget 包中的一个错误。
  • 也在 select2 nuget 包中。
【解决方案2】:

在我的情况下,bundle 被指定为目录 @Scripts.Render("~/scripts"),因此 IIS 不知道如何提供实际的 js 文件,我将 bundle 名称更改为表示 javascript 文件 @Scripts.Render("~/scripts.js") 并修复了它。我的样式包也是如此。

【讨论】:

    【解决方案3】:

    问题是你的包名应该是命名约定

    ("bundles/css") 
    

    这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 2012-06-21
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2012-07-22
      • 1970-01-01
      相关资源
      最近更新 更多