Я использую следующую шутку в файле 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» вместо того, чтобы что-либо делать, и я подумал о переносе всей моей установки к другому поставщику услуг.
Есть ли что-то еще, что я должен проверить?
apache2ctl -M
показывает mod_deflate? - person Jeremy Harris   schedule 19.01.2017BrowserMatch
иSetEnvIfNoCase
? Я вижу много вариантов без gzip... могу попытаться исключить совпадения. - person Jeremy Harris   schedule 19.01.2017