0

我注意到 Chrome 报告 .js 文件的 MIME 类型错误。这些文件由 Apache 2 提供,最初在其 conf 文件中没有引用 js 文件。

我在 http.conf 中添加了以下配置:

AddType application/x-javascript .js

然后重新加载配置。.js 文件仍与此响应标头一起发送:

HTTP/1.1 200 OK
Date: Wed, 16 Jan 2013 16:39:42 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.4.10
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

没有 .htaccess 文件。

什么会导致 Apache 发送不正确的 Content-Type,即使我在配置中指定了 application/x-javascript 并重新加载了服务器?

4

2 回答 2

1

我最近在另一台服务器上遇到了这个问题并解决了这个问题。 conf.d/php.conf包含这些行:

AddHandler php5-script .php .phtml .html .css .js
AddType text/html .php

我将第一行更改为

AddHandler php5-script .php .phtml .html
AddType text/html .php

然后保存并重新启动 Apache。js & css 文件现在以正确的 mime 类型出现在 Firefox/Chrome 中。

顺便说一句,我尝试AddType text/javascript .js在下面添加AddType text/html .php,但文件仍然显示为text/htmlInspector。我必须从 AddHandler 中删除 .css 和 .js 才能发送正确的 mime 类型。

于 2015-03-03T16:15:42.903 回答
0

如果你的 httpd.conf 中有类似的东西SetHandler application/x-httpd-php,那么你应该把它放进<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>去,让 Apache 为其他文件发送好的 Content-Type。

于 2013-02-05T17:30:21.277 回答