Предварительное сжатие статических файлов на 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:55, 27 сентября 2019 (править) (отменить) Chapay (Обсуждение | вклад) К следующему изменению → |
||
| Строка 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]] и выполните команду | ||
Версия 12:55, 27 сентября 2019
За основу взята статья 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)$"`; do gzip -cf9 $file > $file.gz; done
Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов.
