Apache 上的 gzip js

Apache 上的 gzip js

httpd.conf 中的以下配置仅 gzip css 和 html,而不是 javascript,有什么想法吗?

AddOutputFilterByType DEFLATE text/html text/plain text/javascript text/css
AddOutputFilterByType DEFLATE application/x-javascript

答案1

这很可能是因为 Javascript 的 MIME 类型竞争激烈

尝试添加application/javascripttext/x-js(以及application/x-javascript

尽管如此,更可靠的方法可能是根据.js文件扩展名进行过滤。Request_URI有关更多信息,请参阅指令 (http://httpd.apache.org/docs/2.0/mod/mod_deflate.html) - 如果您使用的重写 URL 不使用.jsJavaScript 文件扩展名,则这可能不起作用。

如果这不起作用,那么您的 Linux 发行版可能对 JavaScript 使用了完全不同的 MIME 类型。TypesConfig在您的配置文件中找到该指令,并查看它如何定义 JavaScript。然后也添加该 MIME 类型。

答案2

这可能是你最好的方法:

<IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/x-javascript
      BrowserMatch ^Mozilla/4 gzip-only-text/html
      BrowserMatch ^Mozilla/4\.[0678] no-gzip
      BrowserMatch \bMSIE\s(7|8)  !no-gzip !gzip-only-text/html
      Header set Vary *
      DeflateCompressionLevel 1

Internet Explorer(某些版本)无法很好地处理繁忙压缩,因此最好根据浏览器逐个进行压缩。这些设置来自拥有大量客户的高流量网站 - 并且是我们尝试过的唯一 100% 有效的设置。

相关内容