Предварительное сжатие статических файлов на 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 # Браузер не Safari+ RewriteCond %{HTTP_USER_AGENT} !Safari
- ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ # Имя файла не заканчивается на .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] 
  1. Описание условий Rewrite :
  2. Браузер запросил сжатие
  3. Браузер не Safari
  4. Имя файла не заканчивается на .gz
  5. Есть сжатая версия файла
  6. Перенаправляем запрос на сжатую версию

2. Зайдите на сервер по SSH и выполните команду

for file in `find . -type f -regextype awk -regex ".*\.(htm|html|js|txt|csv)$"`; do gzip -cf9 $file > $file.gz; done

Эта команда найдет и создаст сжатые копии всех текстовых файлов у вас на сайте. Её нужно выполнять каждый раз после обновления статических файлов.

Личные инструменты