【问题标题】:Why is this CSS loaded with MIME type "text/troff"?为什么这个 CSS 加载了 MIME 类型“text/troff”?
【发布时间】:2017-02-09 03:42:38
【问题描述】:

我将我的 CSS 文件添加到我的 HTML 文件的标题中

<link href="project.css" type="text/css" rel="stylesheet" />

在 FF 上以 Inspect 模式打开页面时,我可以在控制台中看到

The stylesheet https://example.com/project.css was not loaded because its MIME type, "text/troff", is not "text/css".

文件本身非常标准(顶部注释的存在与否不会改变任何东西 - 我试图暗示这是一个 CSS 文件)

/*!
CSS for project
*/

#devices {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.row {
    display: table-row;
    vertical-align: middle;
}

(...)

在同一个header中,Bootstrap加载正确:

 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

我应该做些什么来正确识别 MIME 类型?

【问题讨论】:

  • 您的服务器是否设置为提供 mime 类型(不确定这是否会影响外部加载的文件)?
  • 如果您需要帮助设置服务器以使用正确的 MIME 类型提供 CSS,您需要告诉我们您使用的是什么服务器。
  • @Pete @MikeMcCaughan - 这些都很好,我的印象是type="text/css"足以告诉浏览器MIME类型。我不直接控制网络服务器,但我会解决这个问题。谢谢。

标签: html css mime-types


【解决方案1】:

我的印象是 type="text/css" 足以告诉浏览器 MIME 类型。

它确实告诉浏览器它可以期望链接资源是什么 MIME 类型,这就是为什么错误说“它的 MIME 类型 [...] 不是 'text/css'。”,但它没有承诺服务器将实际提供该 MIME 类型的资源。这取决于服务器。

【讨论】:

    【解决方案2】:

    由于安全问题,将样式表“rel”标签类型属性设置为 text/css 是不够的,您应该在 http headers(content-type:text/css) 中设置内容类型,问题很老但是如果其他人在 IIS 中遇到此问题并查看此页面:转到控制面板 -> 程序和功能 -> 打开或关闭 Windows 功能 -> 互联网信息服务 -> 万维网服务 -> 通用 http 功能 -> 静态内容,启用此选项并重新启动 IIS。

    【讨论】:

      猜你喜欢
      • 2021-10-04
      • 2017-09-17
      • 2020-08-21
      • 2018-03-30
      • 2021-12-29
      • 2012-06-02
      • 2020-06-22
      • 2023-03-14
      相关资源
      最近更新 更多