Не всегда бывает достаточно внесения правок в .htaccess файл для включения жизненно-необходимых для быстрой работы сайта функций, как сжатие и кеширование браузером. Особенно если у вас сервер на NGINX.
Приведу пример для включения этого функционала.
Сразу сделаем оговорку. Вы должны иметь доступ к файл nginx.conf
из каталога /usr/local/nginx/conf
, или /etc/nginx
, или /usr/local/etc/nginx
, в зависимости от ОС. Это подразумевает что у Вас выделенный или виртуальный сервер. На обычных хостингах может помочь только обращение в техническую поддержку.
Сжатие GZIP для сайта на NGINX
Выглядит это следующим образом
http {
#buffer_size, разные include и прочие общие настройки
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
gzip_comp_level 1;
server {
#настройки каждого из сайтов на сервере
}
}
Таким образом для всех сайтов на сервере включается сжатие.
Кеширование браузером
Для кеширования необходимы следующие изменения:
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 30d;
#Остальные директивы
}
Таким образом решается эта простая проблема, которая становится порой серьезной головной болью вебмастеров, плохо знакомых с работой системного администратора Linux.
3 комментария
Igor
«Кеширование браузером
Для кеширования необходимы следующие изменения:»
— что то не получилось, сайт на WP падает наглухо….
а вот gzip работает нормально
Дмитрий Ильичев
Надо логи nginx смотреть. Вероятно, мешают какие-то другие правила.
Сергей
В новых версиях nginx gzip по умолчанию «on»)