【问题标题】:Resource interpreted as stylesheet but transferred with MIME type text/html资源解释为样式表,但使用 MIME 类型 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 的检查器会给我:

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

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

我该如何解决?

【问题讨论】:

标签: css html apache


【解决方案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

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

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 2013-05-04
      • 2011-12-13
      • 2017-10-12
      • 2016-03-19
      • 2021-04-25
      • 1970-01-01
      • 2017-02-23
      • 2018-01-23
      相关资源
      最近更新 更多