Каким образом можно включить gzip сжатие страниц
Материал из DiPHOST.Ru wiki system
(Различия между версиями)
Schors (Обсуждение | вклад) |
Schors (Обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
<meta name="title" content="Каким образом можно включить gzip сжатие страниц"></meta> | <meta name="title" content="Каким образом можно включить gzip сжатие страниц"></meta> | ||
- | === | + | === Настройка веб-сервера === |
+ | Можно использовать специальный модуль веб-сервера apache. Для автоматического сжатия текстовых файлов достаточно добавить в файл .htaccess: | ||
+ | |||
+ | <IfModule deflate_module> | ||
+ | AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css | ||
+ | AddOutputFilterByType DEFLATE application/xml application/xhtml+xml | ||
+ | AddOutputFilterByType DEFLATE application/x-javascript application/javascript | ||
+ | AddOutputFilterByType DEFLATE application/json | ||
+ | </IfModule> | ||
+ | |||
+ | === Сжатие вручную === | ||
Большие css и js можно на свой страх и риск самостоятельно сжать. Попробуйте | Большие css и js можно на свой страх и риск самостоятельно сжать. Попробуйте | ||
Строка 39: | Строка 49: | ||
В результате все обращения браузера к js и css файлам будут перенаправляться на их | В результате все обращения браузера к js и css файлам будут перенаправляться на их | ||
сжатые копии, а браузеру будет сообщаться, что эти файлы упакованы в gzip. | сжатые копии, а браузеру будет сообщаться, что эти файлы упакованы в gzip. | ||
+ | |||
+ | === Сжатия статики, отдаваемой Nginx === | ||
+ | |||
+ | |||
[[Category:HowTo]] | [[Category:HowTo]] |
Версия 16:10, 8 декабря 2014
Настройка веб-сервера
Можно использовать специальный модуль веб-сервера apache. Для автоматического сжатия текстовых файлов достаточно добавить в файл .htaccess:
<IfModule deflate_module> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css AddOutputFilterByType DEFLATE application/xml application/xhtml+xml AddOutputFilterByType DEFLATE application/x-javascript application/javascript AddOutputFilterByType DEFLATE application/json </IfModule>
Сжатие вручную
Большие css и js можно на свой страх и риск самостоятельно сжать. Попробуйте упаковать файлы css и js в gzip так, чтобы рядом с исходными файлами находились их упакованные версии с расширением gz (например style.css.gz) Это можно сделать через консоль SSH такой командой:
gzip my_big_file.css > my_big_file.css.gz
После этого в файл .htaccess вашего сайта надо будет прописать:
RewriteEngine on RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s RewriteRule ^(.*)\.css $1\.css\.gz [QSA] RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s RewriteRule ^(.*)\.js $1\.js\.gz [QSA] <FilesMatch .*\.js\.gz$> ForceType text/javascript Header set Content-Encoding gzip Header append Vary Accept-Encoding </FilesMatch> <FilesMatch .*\.css\.gz$> ForceType text/css Header set Content-Encoding gzip Header append Vary Accept-Encoding </FilesMatch>
В результате все обращения браузера к js и css файлам будут перенаправляться на их сжатые копии, а браузеру будет сообщаться, что эти файлы упакованы в gzip.