CSS 文件未显示在服务器上 - ASP.NET MVC bundle错误.403 - 禁止访问:访问被拒绝



我的MVC 4应用程序在我的本地计算机上运行良好。

但是,CSS文件在我发布后不起作用(不影响网站的布局)。

我可以看到CSS文件在服务器上。

当我查看源代码时,我可以看到

<link href="/Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1" rel="stylesheet"/>

与我的本地计算机一样,源代码显示为

<link href="/Content/css/myFile.css" rel="stylesheet"/>
<link href="/Content/css/myFile02.css" rel="stylesheet"/>

因此,在服务器上的源代码视图中,我单击了Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1浏览器将我带到了403 - 禁止访问:访问被拒绝。

我正在使用 BunldeConfig.cs 类添加 CSS 文件

    public class BundleConfig
    {
        // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
                        "~/Scripts/1.9.1.js",
                        "~/Scripts/jTools.js",
                        "~/Scripts/script.js"
                        ));
            bundles.Add(new StyleBundle("~/Content/css").Include(
                "~/Content/Css/website.css", 
                "~/Content/Css/banner.css", 
                "~/Content/Css/reusable.css",
                "~/Content/Css/lists.css",
                "~/Content/Css/tooltip.css",
                "~/Content/Css/overlay.css"
                ));

        }
    }

我的问题是,假设这不是服务器的 IT 问题(直到最近它一直工作正常),我的代码有问题吗?

您的问题是您在new StyleBundle("~/Content/css")中使用~/Content/css作为捆绑别名,而此路径实际上存在

因此,当您请求<link href="/Content/css?...>时,您实际上是在请求目录列表,这是被禁止的。

尝试使用其他内容,例如 new StyleBundle("~/Content/styles") .

注意:如果您确实使用 ~/Content/styles 之类的内容作为别名,则可能会遇到.css文件中的相对 url 问题。这可能看起来很奇怪,但你最好使用类似~/Content/Css/someAlias

在根 web.config 文件的<system.web>部分中,不包括调试模式。 发布应用程序时,它不包括调试属性。因此,您可以包含以下代码:

<compilation debug="true" targetFramework="4.5">而不是<compilation targetFramework="4.5"> web.config 文件中。

有关更多信息,您可以点击 此链接 .

如果您实际上有任何物理文件夹css Content文件夹内会出现此问题。要解决此问题,请删除物理css文件夹或将其重命名为any-other名称。

最新更新