MVC bundeling : Err 403

二次信任 提交于 2019-12-09 02:24:01

问题


Using VS'12, Asp.net - C# - InternetApplication Template, KendoUI, EF Code First

This is my MVC BundleConfig.cs

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

        // The Kendo CSS bundle
        bundles.Add(new StyleBundle("~/Content/kendo").Include(
                "~/Content/kendo/kendo.common.*",
                "~/Content/kendo/kendo.default.*"));

        // The Kendo JavaScript bundle// or kendo.all.min.js if you want to use Kendo UI Web and Kendo UI DataViz
        bundles.Add(new ScriptBundle("~/bundles/kendo").Include(
                                    "~/Scripts/kendo/kendo.web.min.js",
                                    "~/Scripts/kendo/kendo.aspnetmvc.min.js"));

Also you should know that i am running these 2 lines at the end of BundleConfig.cs

        bundles.IgnoreList.Clear();
        bundles.DirectoryFilter.Clear();

I have been getting 403 Access Denied , File Forbidden Errors when I try to host the project.

I have tried to use This Awesome Post as a reference, where I did change some things, but errors are still occuring.

I would like to think its because of the .min files KendoUI came with, but i can't be certain.

For your reference this is my _Layout.cshtml, and how i call the scripts.

    @Scripts.Render("~/bundles/jquery")
    @Styles.Render("~/Content/css")
    @Styles.Render("~/Content/kendo")
    @Scripts.Render("~/bundles/kendo")

回答1:


Try changing

bundles.Add(new StyleBundle("~/Content/kendo").Include(
            "~/Content/kendo/kendo.common.*",
            "~/Content/kendo/kendo.default.*"));

to

bundles.Add(new StyleBundle("~/bundles/css/kendo").Include(
            "~/Content/kendo/kendo.common.*.css",
            "~/Content/kendo/kendo.default.*.css"));

and then

@Styles.Render("~/Content/kendo")

to

@Styles.Render("~/bundles/css/kendo")



回答2:


it's because you're using the same 'alias' (/Content/kendo) for the stylebundle as the already existing directory.

once you use another alias (/Content/css/kendo/ or /Content/whatevernonexistingdir) your problem is solved.

but be aware: the 'root' of the css is changed, so when using (background) images in your css which are pointing to subfolders, take this into account!



来源:https://stackoverflow.com/questions/18474669/mvc-bundeling-err-403

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!