Apache, LiteSpeed
На общем хостинге и на серверах с Apache или LiteSpeed сжатие включается путём добавления в файл .htaccess такого кода:
<IfModule mod_deflate.c>
<filesMatch "\.(js|css|html|txt|xml)$">
SetOutputFilter DEFLATE
</filesMatch>
</IfModule>
Сжатие страниц в связке Nginx+Apache
Если у Вас на VPS или выделенном сервере работает связка Nginx+Apache, то таким образом улучшается отдача статического контента и ускоряется загрузка сайта. Но у этого способа есть и побочные эффекты. Чтоб включить сжатие на поддерживающих эту технологию браузерах, достаточно создать пустой файл .htdeflate в папке public_html.
Для поддержания работы такого метода необходимо добавить следующие строки в файл виртуального хоста:
set $root /home/USERNAME/www;
set $deflate "${root}/.htdeflate";
location ~* ^.+\.(css|js)$ {
root $root;
if ( -f $deflate ) {
gzip on;
}
gzip_disable msie6;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 9;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
}
Как проверить
Вывод команды:
curl -I -H 'Accept-Encoding: gzip,deflate' http://ВАШДОМЕН/
Должен содержать строку: Content-Encoding: gzip. Например:
HTTP/1.1 301 Moved Permanently Date: Tue, 07 Apr 2015 07:59:57 GMT Server: Apache/2.2.15 (CentOS) Location: http://ВАШДОМЕН/hosting/ Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 20 Connection: close Content-Type: text/html; charset=iso-8859-1
А также команда ниже должна отдавать содержимое страницы без ошибок
curl -H 'Accept-Encoding: gzip,deflate' http://ВАШДОМЕН/ | gunzip