Сжатые CSS и JS файлы

Используя данный способ можно ускорить загрузку сайта почти в 10 раз. Смысл заключается в том, что рядом с обычными файлами JS или CSS вы кладете архивы gzip. Если браузер пользователя может распознать gzip - ему отдается архив, если нет то пользователь получает обычные файлы.

Для работы и включения этого всего вам нужно: Архиватор 7-zip(можно конечно из командной строки, но все же так удобней), установленный на сервере модуль PHP - mod_gzip, установленный на сервере модуль Apache - mod_headers.

И так, если это все уже есть создаем архивы рядом с файлами js и css, как на картинке:

gzipПри запросе файла формата js или css код будет проверять, есть ли такой же но в архиве - подстановкой -gz к концу имени файла. Т.е. если файл у вас называется mystyle.css, то gzip версия будет называтся так mystyle.css.gz

Советую архивировать на уровне normal, больший уровень смысла делать просто нет.

И так, после открываем файл .htaccess и вносим следующий код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
 
 
<IfModule mod_headers.c>
 
<FilesMatch .*\.js.gz$>
	ForceType text/javascript
	Header set Content-Encoding: gzip
	Header set Cache-control: private
	Header add "Expires" "Mon, 28 Jul 2014 23:30:00 GMT"
	Header add "Cache-Control" "max-age=3153600"
</FilesMatch>
<FilesMatch .*\.css.gz$>
	ForceType text/css
	Header set Content-Encoding: gzip
	Header set Cache-control: private
	Header add "Expires" "Mon, 28 Jul 2014 23:30:00 GMT"
	Header add "Cache-Control" "max-age=3153600"
</FilesMatch>
 
<FilesMatch "\.(js|css|jpe?g|png|gif|swf)$">
	Header append Cache-Control "public"
	Header add "Expires" "Mon, 28 Jul 2014 23:30:00 GMT"
	Header add "Cache-Control" "max-age=3153600"
</FilesMatch>
</IfModule>

Думаю разберетесь, тут нет ничего сложного. Также в код добавлено gzip сжатие мультимедийных файлов и установка даты expired в 1 месяц.

С помощью таких нехитрых манипуляций вы ускорите загрузку сайта и снизите нагрузку на сервер.

Понравился пост? Подпишитесь на RSS ленту или Twitter.
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 votes, average: 2,67 из 5)
Loading ... Loading ...
Рубрика PHP, Оптимизация
Теги: , ,

Похожие записи

1 Комментарий на «Сжатые CSS и JS файлы»

  • Igor
    3 Август, 2009, 16:25

    О! Спасибо. Не знал раньше. Буду изучать.

    Thumb up 0 Thumb down 0

    Ответить

Оставить комментарий