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