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

Posted

技术标签:

【中文标题】资源解释为样式表,但使用 MIME 类型 text/html 传输【英文标题】:Resource interpreted as stylesheet but transferred with MIME type text/html 【发布时间】:2012-05-20 04:26:02 【问题描述】:

这是我的html

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv = "Content-Language" content = "en"/>
        <meta http-equiv = "Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" type="text/css" href="/xxx/app/www/style.css">

现在,当我加载页面时,Safari 的检查器会给我:

我正在使用 MAMP 在本地主机上工作。我不确定要修改什么才能使其正常工作。我读到这可能是某种服务器问题。

我该如何解决?

【问题讨论】:

类似问题(如果不完全一样) --> ***.com/questions/3467404/… 查看此答案***.com/a/37024887/4762396 这能回答你的问题吗? Resource interpreted as stylesheet but transferred with MIME type text/html (seems not related with web server) 【参考方案1】:

在您的根文件夹中创建一个.htaccess 文件(或更新现有的),并在其中包含这一行

AddType text/css .css 

这将告诉 apache 为 .css 文件发送正确的 content-type 标头

【讨论】:

我认为正确的方法是 AddType text/css css without the dot 在 Windows 上怎么样?我正在运行 Django 服务器,在我将 Debug 标志设置为 False 后发生了这种情况【参考方案2】:

有可能不仅仅是 css 资源被错误地解释了。这可能是您的网络服务器配置的问题。

检查的最佳方法是转到 Chrome -> 网络选项卡并检查每个请求的响应部分。 您也可以使用终端运行$ curl -I http://path_to_file_or_page 并查看响应,您应该以以下格式查看它,例如Content-Type: image/jpeg


所以,如果 webserver (apache) 会为所有文件执行此操作,那么您可以尝试通过以下方式解决问题:

检查您的/etc/apache2/apache2.conf 如果有任何SetHandler application/x-httpd-php 行,请尝试对其进行评论,然后通过$ sudo system apache2 reload 重新加载您的apache

如果问题仍然存在,请告诉我们。

【讨论】:

【参考方案3】:

可能是您的网络服务器配置正确,但它确实返回的是 HTML 而不是 CSS。

检查您的路径、拼写、大小写等是否正确。直接点击 URL 看看返回的内容。您的网络服务器可能会响应错误页面 (HTML) 和 200-Ok 而不是 404-Not Found

我并不是说这曾经发生在我身上......

【讨论】:

以上是关于资源解释为样式表,但使用 MIME 类型 text/html 传输的主要内容,如果未能解决你的问题,请参考以下文章

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

资源解释为样式表,但使用 MIME 类型 text/javascript 传输

Springboot - 资源解释为样式表,但使用 MIME 类型 text/html 传输

Springboot - 资源解释为样式表,但使用 MIME 类型 text/htm 传输

CSS、.htaccess、资源解释为样式表,但使用 MIME 类型 text/html 传输

资源解释为样式表,但使用 MIME 类型 text/x-scss 传输