MVC4样式束给403


98

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

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



Answers:


232

我的捆绑软件被注册为对应于解决方案中实际文件夹的路径~/Content/forum

当捆绑功能关闭时(捆绑软件已正确包含!),此方法可正常工作,但启用捆绑功能时则无效。

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


20
还要注意,如果CSS文件是指图像或相对于CSS的其他文件,请确保捆绑包文件名包含实际CSS的文件夹。例如,~/Content/myfolder/bundle如果CSS位于Content/myfolder
Kieren Johnstone

1
我有两个捆绑包:〜/ Content / kendo(用于CSS)和〜/ bundles / kendo(用于脚本)。因此:403错误。当我更改名字之一时,问题就消失了。谢谢。
VikciaR

1
@KierenJohnstone很抱歉没有具体说明,"Change the registered name of the bundle"这是什么意思?-我假设我们分配了捆绑包的名称。像(粗体部分)-> bundles.Add(new StyleBundle( “〜/ Content / css” ).Include("~/Content/site.css"));
Don Thomas Boyle 2013年

1
发现。这似乎是FontAwesome nuget包中的错误。
Wolfyuk

1
也在select2 nuget包中。
Tetsujin no Oni 2015年

3

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


3

问题是您的捆绑软件名称应使用的命名约定

("bundles/css") 

这解决了我的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.