我的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
名称。