【问题标题】:Apache AddType directive for .js files does not work.js 文件的 Apache AddType 指令不起作用
【发布时间】:2013-07-12 01:53:54
【问题描述】:

我在我的几个站点中运行 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

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

AddType application/javascript .js

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

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

【问题讨论】:

    标签: javascript apache mod-deflate


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-05-11
      • 2011-11-16
      • 1970-01-01
      • 2017-11-27
      • 2014-09-03
      • 2021-10-14
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多