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. Я думаю, некоторые старые несжатые файлы были доставлены из кеша браузера...

Другие вопросы по тегам