我有这个问题。Chrome继续返回此错误

资源解释为样式表,但以MIME类型text/html传输

受此错误影响的文件只有Style、chosen和jquery-gentleselect(以相同方式导入索引的其他CSS文件工作良好且没有错误)。我已经检查了我的MIME类型和文本/css已经在css上。

老实说,我想从理解问题开始(这似乎是我一个人做不到的事情)。


当前回答

如果nodejs和使用express 下面的代码工作…

res.set('Content-Type', 'text/css');

其他回答

这是因为您必须将内容类型设置为文本/html而不是文本/css为您的服务器页面(php,node.js等)

使用角?

这是一个需要记住的非常重要的警告。

基本标签不仅要在头部,而且要在正确的位置。

我有我的基础标签在错误的地方在头部,它应该来之前任何标签与url请求。基本上把它作为标题下面的第二个标签为我解决了这个问题。

<base href="/">

我在这里写了一篇小文章

如果您使用的是JSP,则此问题可能来自您的servlet映射。 如果你的映射默认使用url,就像这样:

@WebServlet("/")

然后容器解释CSS url,并转到servlet,而不是转到CSS文件。

我有同样的问题,我改变了我的映射,现在一切正常

我在为一个用npm安装的React布局模块加载CSS时遇到了这个问题。你必须导入两个.css文件来让这个模块运行,所以我最初导入它们是这样的:

@import "../../../../node_modules/react-grid-layout/css/styles.css";

但发现文件扩展名必须被删除,所以这是有效的:

@import "../../../../node_modules/react-grid-layout/css/styles";

我也遇到了同样的问题,用同样的。htaccess文件来创建漂亮的url。经过几个小时的观察和实验。我发现这个错误是因为相对链接的文件。

浏览器将开始为所有css, js和图像文件获取相同的源HTML文件,当我将浏览几个步骤深入到服务器。

为了解决这个问题,你可以在HTML源代码上使用<base>标签,

<base href="http://localhost/assets/">

链接到这样的文件,

<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="js/script.js"></script>

或者对所有文件使用绝对链接。

<link rel="stylesheet" type="text/css" href="http://localhost/assets/css/style.css" />
<script src="http://localhost/assets/js/script.js"></script>
<img src="http://localhost/assets/images/logo.png" />