CSS 文件未显示在服务器上 - ASP.NET MVC 捆绑错误。 403 - 禁止:访问被拒绝
Posted
技术标签:
【中文标题】CSS 文件未显示在服务器上 - ASP.NET MVC 捆绑错误。 403 - 禁止:访问被拒绝【英文标题】:CSS files are not showing on server - ASP.NET MVC Bundles error. 403 - Forbidden: Access is denied 【发布时间】:2014-04-06 15:04:09 【问题描述】:我的 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 - Forbidden: Access is denied.
我正在添加带有 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 问题(直到最近它一直运行良好)我的代码有问题吗?
【问题讨论】:
ASP.NET MVC framework 4.5 CSS bundles does not work on the hosting的可能重复 【参考方案1】:您的问题是您在new StyleBundle("~/Content/css")
中使用~/Content/css
作为捆绑别名,而此路径实际存在。
因此,当您请求 <link href="/Content/css?...>
时,您实际上是在请求目录列表,这是被禁止的。
尝试使用其他内容,例如 new StyleBundle("~/Content/styles")
。
注意:如果您使用 ~/Content/styles
之类的别名作为别名,您的 .css
文件中的相对 URL 可能会出现问题。这可能看起来很奇怪,但你最好使用~/Content/Css/someAlias
【讨论】:
叹息 - 我实际上知道这一点,大约 2 年前......当你停止使用东西时你会忘记什么很奇怪。谢谢,完美解决 不客气。一个小建议,供以后参考。如果您将标题更改为ASP.NET MVC Bundles error. 403 - Forbidden: Access is denied.
之类的名称,对其他人会更有帮助
我遇到了同样的问题。我将捆绑包重命名为 在您的根 web.config 文件的<system.web>
部分中,不包括调试模式。当您发布应用程序时,它不包含调试属性。所以你包括以下代码:
<compilation debug="true" targetFramework="4.5">
而不是 web.config 文件中的<compilation targetFramework="4.5">
。
更多信息您可以关注This Link。
【讨论】:
这解决了症状,但没有解决原因。正确答案请参考@lalibi 的回答。【参考方案3】:如果您实际上在Content
文件夹内有任何物理文件夹css
,则会出现此问题。要解决此问题,请删除物理css
文件夹或将其重命名为any-other
名称。
【讨论】:
以上是关于CSS 文件未显示在服务器上 - ASP.NET MVC 捆绑错误。 403 - 禁止:访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
忽略 ASP.net 中的 Javascript、CSS 和图像文件路由
来自 FTP 的图像未显示在 asp.net 核心的 HTML 页面上
CSS 未应用于部署在 IIS 上的 ASP.NET MVC 应用程序
在 asp.net 回发期间触发 javascript(以显示 css 加载器/微调器)