Предварительное сжатие статических файлов на Apache
Материал из 1GbWiki.
(Различия между версиями)
Версия 12:55, 27 сентября 2019 (править) Chapay (Обсуждение | вклад) ← К предыдущему изменению |
Текущая версия (12:58, 27 сентября 2019) (править) (отменить) Chapay (Обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
RewriteRule ^(.+) $1.gz [QSA,L] | RewriteRule ^(.+) $1.gz [QSA,L] | ||
- | + | '''Описание условий Rewrite :''' | |
#Браузер запросил сжатие | #Браузер запросил сжатие | ||
#Браузер не Safari | #Браузер не Safari | ||
Строка 41: | Строка 41: | ||
2. Зайдите на сервер по [[SSH]] и выполните команду | 2. Зайдите на сервер по [[SSH]] и выполните команду | ||
- | for file in `find . -type f -regextype awk -regex ".*\.(htm|html|js|txt|csv)$"`; do gzip -cf9 $file > $file.gz; done | + | for file in `find . -type f -regextype awk -regex ".*\.(htm|html|js|txt|csv|css)$"`; do gzip -cf9 $file > $file.gz; done |
Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов. | Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов. | ||
[[Категория:WEB-сервер Apache]] | [[Категория:WEB-сервер Apache]] |
Текущая версия
За основу взята статья http://www.ardamis.com/2010/07/11/compress-files-without-mod_gzip-or-mod_deflate/
1. Допишите в ваш .htaccess в корневой папке сайта (или создайте новый файл, если своего .htaccess у вас нет):
<files *.css.gz> AddType "text/css" .gz AddEncoding gzip .gz </files> <files *.csv.gz> AddType "text/csv" .gz AddEncoding gzip .gz </files> <files *.html.gz> AddType "text/html" .gz AddEncoding gzip .gz </files> <files *.htm.gz> AddType "text/html" .gz AddEncoding gzip .gz </files> <files *.js.gz> AddType "text/javascript" .gz AddEncoding gzip .gz </files> <files *.txt.gz> AddType "text/plain" .gz AddEncoding gzip .gz </files> RewriteEngine on ReWriteCond %{HTTP:accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ RewriteCond %{REQUEST_FILENAME}.gz -f RewriteRule ^(.+) $1.gz [QSA,L]
Описание условий Rewrite :
- Браузер запросил сжатие
- Браузер не Safari
- Имя файла не заканчивается на .gz
- Есть сжатая версия файла
- Перенаправляем запрос на сжатую версию
2. Зайдите на сервер по SSH и выполните команду
for file in `find . -type f -regextype awk -regex ".*\.(htm|html|js|txt|csv|css)$"`; do gzip -cf9 $file > $file.gz; done
Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов.