2013-01-16 57 views
0

我注意到Chrome報告的.js文件的MIME類型錯誤。這些文件與Apache 2一起提供,最初沒有在其conf文件中引用js文件。Apache爲.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並重新加載了服務器?

+1

看起來這個頭文件是由PHP解釋器發送的(根據'X-Powered-By'屬性)。 – VisioN

回答

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文件在Firefox/Chrome中顯示爲具有正確的MIME類型。

順便說一句我試過略低於AddType text/html .php加入AddType text/javascript .js,但文件仍顯示爲督察text/html。我必須從AddHandler中刪除.css和.js才能發送正確的MIME類型。

0

如果你在httpd.conf中有類似SetHandler application/x-httpd-php的東西,那麼你應該把它放到<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>讓Apache爲其他文件發送好的Content-Type。

相關問題