Gzip на объединенные файлы CSS/JS в Magento
Я пытаюсь ускорить мой магазин 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 ответа
Когда Magento объединяет любые файлы CSS и Javascript, которые проходят через его систему рендеринга, он создает URL-адреса для таких ресурсов, как этот, и добавляет их в начало страницы.
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/css
а также media/js
сделать то же самое.
Без дополнительной информации невозможно отладить вашу систему дальше.
Вы можете использовать http://httpd.apache.org/docs/2.0/mod/mod_deflate.html модуль Apache.
Для тех, кто испытывает ту же проблему: сначала попробуйте обновить кеш браузера.
Google Chrome PageSpeed Insights сообщал мне, что объединенные css и js файлы моего магазина Magento не были сжаты, хотя я включил GZIP и правильно настроил.htaccess.
После очистки кэша браузера Chrome эти объединенные файлы также были сжаты, согласно PageSpeed Insights. Я думаю, некоторые старые несжатые файлы были доставлены из кеша браузера...