关于Magento中合并的CSS / JS文件的Gzip

时间:2011-12-08 20:11:13

标签: javascript apache magento gzip mod-deflate

我正在尝试加速我的Magento商店并且最近启用了Gzip压缩。问题是,我还使用Magento内置函数将所有CSS和JS文件合并在一起,为每个文件提供单个文件。

Gzip不压缩这些文件&由于这是Magento,这些文件非常庞大,并且显着减慢了网站的速度。

我能做些什么,Gzip也会压缩这些文件?它们位于/ media / js /和/ media / css /

编辑:使用mod_deflate,现在我将它设置为:

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:pdf|doc)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:avi|mov|mp3|mp4|rm)$ no-gzip dont-vary

3 个答案:

答案 0 :(得分:3)

当Magento合并任何通过其渲染系统的CSS和Javascript文件时,它会为这些资源创建这样的资源,并将它们添加到页面的头部

http://magento1point6point1.dev/media/css/a438f0287fdd0c52d9bd196d355a63c3.css
http://magento1point6point1.dev/media/js/0567fb98ebe279ea4faf5acf433fc6a1.js

反过来,这将生成文件系统上的文件

media/css/a438f0287fdd0c52d9bd196d355a63c3.css
media/js/0567fb98ebe279ea4faf5acf433fc6a1.js

此时,Magento几乎完全从进程中删除(RewriteCond %{REQUEST_URI} !^/(media|skin|js)/中有一个.htaccess来捕获不存在的文件。听起来你正确地为网站的其他区域设置了gzip压缩设置。因此,您已为gzip压缩配置了其他文件夹,请配置media/cssmedia/js以执行相同操作。

如果没有更多信息,则无法进一步调试您的系统。

答案 1 :(得分:0)

答案 2 :(得分:0)

对于遇到相同问题的任何人:首先尝试刷新浏览器缓存。

谷歌浏览器PageSpeed Insights告诉我,我的Magento商店的合并后的css和js文件没有被压缩,尽管我已经启用了GZIP并正确配置了.htaccess。

根据PageSpeed Insights的说法,清除Chrome浏览器缓存后,这些合并的文件也被压缩了。我猜一些旧的未压缩文件是从浏览器缓存中提供的......