CSS的MIME类型返回为text/plain而不是text/css。

6
我正在使用这段代码来获取给定文件的MIME类型。
$finfo = new \finfo(FILEINFO_MIME_TYPE);
$mime  = $finfo->buffer(file_get_contents($file));

如果我提供一个PHP文件,那么我会得到什么?
text/x-php

但是如果我给它提供CSS文件,那么我会得到什么?
text/plain

我一直在努力解决这个问题,但一直未能成功,我的 Apache 中已经添加了 AddType 来允许 CSS 文件类型。

有人有什么建议吗?

1个回答

5
您需要告诉Apache在.css文件的扩展名下将文件服务为text/css。您的服务器区分样式表和其他任何类型的文本文件的唯一合理方式是通过其文件名。
您可以通过编辑Apache的MIME类型配置文件进行此操作,该文件名为mime.types(它存储在不同的文件夹中,具体取决于您的发行版,也许可以尝试/etc/apache2)来做出以下关联:
text/css                    css

如果您没有管理员访问权限,您可以在自己的网站根目录中创建一个.htaccess文件。有关这两种方法的更多信息 请参阅此处

希望这可以帮到您!

在重新阅读我们的问题时,也许我误解了您,您已经完成了上述步骤?

如果是这样,请检查您的操作系统读取的MIME类型是什么?有适当的命令可以检查MIME类型,在这里

此外,似乎添加后续检查以查看文件扩展名是否以.css结尾会很实用。这种方法行不通的原因是什么?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接