.js文件的Apache AddType指令不起作用

时间:2013-07-13 18:55:51

标签: javascript apache mod-deflate

我在我的几个网站上运行YSlow,它报告没有压缩一个.js文件。当然启用mod_deflate(其他html和文本文件已压缩):

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/javascript application/ecmascript text/javascript text/x-javascript
DeflateCompressionLevel 6
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

我使用Firebug查看Apache直接请求此.js文件时发送的html标头,而且似乎Apache不发送任何Content-type标头指令。我想这就是它不通过压缩过滤器进行压缩的原因。然后,我添加了

AddType application/javascript .js

在Apache的相应配置文件中,重新启动它仍然无法正常工作。请求文件时不会发送Content-Type标头。

Apache在Linux中运行,启用了PHP(如果这有帮助的话)。 mod_mime模块也已启用。

1 个答案:

答案 0 :(得分:0)

显然,该文件是从浏览器的缓存中提供的,我在Firebug窗口中没有看到304状态响应。清空缓存后,js文件确实返回了应用程序/ javascript内容类型并被gzip压缩。