我是 Apache 新手。我对 Apache 几乎一无所知。我使用的是 Apache 2.2.11。
我有一个 css 文件和多个 .js 文件,我正使用 php 页面(PHP - 5.2.8)将它们上传到远程存储。当我使用函数mime_content_type
获取 css.css 文件的 mime 类型时,我得到的是text/plain
。.js 文件也存在同样的问题。有些图像文件使用相同函数返回的 mime 类型是正确的。
我检查了服务器是否已text/css css
在 mime.types 文件中定义。错误的 mime-type 给我带来了问题,我花了很多时间却一无所获。
有什么帮助吗?
答案1
首先,请注意 PHPmime_content_type
应用于文件的方式内容 与 Apache 向客户端提供的 mime 类型不同,文件扩展名。然后,mime_content_type
似乎被弃用,转而支持文件信息。但真正关键的是:内容css 文件的 不一定能被检测为 CSS(而不仅仅是纯 ASCII 文本)。这与 html 不同,html 可以通过内容的独特第一个字符(例如“ <HTML
”)识别,因此被识别为text/html
。因此,没有足够直接的方法来知道按内容该文件确实是 CSS,而不仅仅是纯 ASCII 文本。我建议您依靠文件扩展名来覆盖 text/plain 结果。
答案2
从mime_content_type 函数的 PHP 文档:
字符串 mime_content_type (字符串 $filename)
返回文件的 MIME 内容类型,该类型通过使用魔法哑剧文件。