Предварительное сжатие статических файлов на Apache
Материал из 1GbWiki.
(Различия между версиями)
Версия 06:08, 21 сентября 2010 (править) Rekby (Обсуждение | вклад) (Новая: За основу взята статья http://www.ardamis.com/2010/07/11/compress-files-without-mod_gzip-or-mod_deflate/ 1. Допишите в ваш .htaccess в корневой ...) ← К предыдущему изменению |
Текущая версия (12:58, 27 сентября 2019) (править) (отменить) Chapay (Обсуждение | вклад) |
||
(1 промежуточная версия не показана) | |||
Строка 27: | Строка 27: | ||
</files> | </files> | ||
RewriteEngine on | RewriteEngine on | ||
- | ReWriteCond %{HTTP:accept-encoding} gzip | + | ReWriteCond %{HTTP:accept-encoding} gzip |
- | RewriteCond %{HTTP_USER_AGENT} !Safari | + | RewriteCond %{HTTP_USER_AGENT} !Safari |
- | ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ | + | ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ |
- | RewriteCond %{REQUEST_FILENAME}.gz -f | + | RewriteCond %{REQUEST_FILENAME}.gz -f |
- | RewriteRule ^(.+) $1.gz [QSA,L] | + | RewriteRule ^(.+) $1.gz [QSA,L] |
+ | |||
+ | '''Описание условий Rewrite :''' | ||
+ | #Браузер запросил сжатие | ||
+ | #Браузер не Safari | ||
+ | #Имя файла не заканчивается на .gz | ||
+ | #Есть сжатая версия файла | ||
+ | #Перенаправляем запрос на сжатую версию | ||
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
Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов.