Проблемы с Mod_Deflate и GoDaddy

Я использую следующую шутку в файле htaccess, чтобы включить сжатие на сервере GoDaddy;

####################
# GZIP COMPRESSION #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip

Это шутка, которую я давным-давно взял из другого вопроса на StackOverflow. До недавнего времени это работало идеально. Теперь он просто отказывается работать, несмотря на то, что mod_deflate включен на WHM, такие сайты, как https://checkgzipcompression.com/, будут скажите мне, что сайт не сжат. Я не могу включить сжатие на этом сервере, если не использую ob_gzhandler в PHP следующим образом;

if(!ob_start("ob_gzhandler")) ob_start();

Это не оптимальное решение.

У меня есть VPS, на котором у меня довольно похожая установка apache/php, и на нем размещена та же версия веб-сайта, размещенная на сервере GoDaddy, с точно такими же файлами, включая htaccess со сжатием gzip, и он работает без требуется об_гжандлер.

Я пытался связаться с GoDaddy, но они были совершенно бесполезны, говоря мне «проверить htaccess» вместо того, чтобы что-либо делать, и я подумал о переносе всей моей установки к другому поставщику услуг.

Есть ли что-то еще, что я должен проверить?


person Sefam    schedule 19.01.2017    source источник
comment
У вас есть доступ к оболочке? apache2ctl -M показывает mod_deflate?   -  person Jeremy Harris    schedule 19.01.2017
comment
Боюсь, у меня нет доступа к оболочке. EasyApache4 в WHM показывает, что mod_deflate включен.   -  person Sefam    schedule 19.01.2017
comment
Будет ли работать, если вы закомментируете разделы BrowserMatch и SetEnvIfNoCase? Я вижу много вариантов без gzip... могу попытаться исключить совпадения.   -  person Jeremy Harris    schedule 19.01.2017
comment
Нет, я удалил все, кроме SetOutputFilter DEFLATE и AddOutputFilterByType (остальное здесь), и это все еще не работает.   -  person Sefam    schedule 19.01.2017
comment
Мне удалось получить доступ к корневой оболочке, хотя apache2ctl не работает, я использовал apachectl -M. deflate_module — один из загруженных модулей, хотя указано, что он общий, а не статический.   -  person Sefam    schedule 19.01.2017


Ответы (1)


Войдите в WHM -> Account Information ->List Accounts. Нажмите на значок CP для этой учетной записи (с нужным веб-сайтом). Когда вы окажетесь в cPanel, найдите Оптимизировать веб-сайт.

По умолчанию сжатие Gzip отключено.

Включите его для всего контента или только для определенного контента. Затем повторно проверьте свой веб-сайт на https://checkgzipcompression.com/, и он должен показать вам, что сжатие gzip включено.

Затем вы можете использовать нужные правила htaccess для mod_deflate.

person Bogdan Stoica    schedule 27.01.2017