Включить сжатие обслуживаемых файлов apache в Magento


Я включил сжатие файлов apache в файле .htaccess моего веб-сайта. Однако, когда я проверяю с помощью Google PageSpeed, работает ли он или нет, я получаю "Включить сжатие" в качестве высокого приоритета. Кроме того, веб-сайт не чувствует себя быстрее.

Я включил сжатие в .htaccess:

php_flag zlib.output_compression on

И я раскомментировал строки:

# Insert filter on all content
SetOutputFilter DEFLATE

# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
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

Правильно ли я это делаю? Почему веб-сайт не загружается быстрее?

Author: Edgar Quintero, 2013-05-30

1 answers

Чтобы проверить это, выполните проверку на сайте с помощью http://tools .pingdom.com . Нажав на маленькую стрелку рядом с запросом документа в водопаде, вы увидите полные заголовки запроса/ответа.

Если сжатие настроено правильно на сервере, это загрузит содержимое gzip'd. Вы можете определить, загружается ли сжатый контент, посмотрев на заголовок Content-Encoding в ответе. Он должен читать gzip, если он сжат. Accept-Encoding в запросе также должно включать gzip в списке, иначе сервер не отправит gzip.

В настройках .htaccess вам следует отключить следующее правило:

# Insert filter on all content
SetOutputFilter DEFLATE

Если веб-сервер будет обслуживать что-либо, кроме текстового контента, это приведет к сжатию и, возможно, двойному сжатию ресурсов. Сжатие текстового содержимого включено на основе типа mime в правиле AddOutputFilterByType, расположенном непосредственно под этим.

Если у вас есть кэш страницы Varnish перед веб-сайтом, эти правила ничего не будут значить для окончательной доставки, так как лак будет обслуживать окончательный запрос и должен быть правильно настроен для обработки сжатого содержимого.

Еще одна вещь, которую следует проверить, - это то, что mod_deflate установлен и работает в Apache. Правило zlib, которое вы показываете в вопросе, не влияет на правила в.htaccess. Это совершенно другой метод сжатия выходных данных. Правила .htaccess означают, что Apache сжимает то, что он отправляет, правило zlib должно было бы заставить PHP сжимать ответ перед этим передает его Apache для доставки.

Вы даже можете попробовать отключить это правило zlib в своем ini-файле. Я не уверен, но это вполне может помешать сжатию Apache, так как это изменит тип mime содержимого, которое выводится.

 4
Author: davidalger, 2013-05-30 17:48:01