Акция!  Домен 34 грн, домен 55 грн, домен  - 65 грн, домен  - 99 грн, домен  - 425 грн!
Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • RUB
  • USD
  • EUR
  • UAH
Чат техподдержки
Вы являетесь клиентом?
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

VPS. Кеш Браузера на VPS [решено]

Форумы VPS Кеш Браузера на VPS [решено]
martakov_gena
4 года
хостинг: нет
домен: есть
Кеш Браузера на VPS [решено]
Подскажите пожалуйста как на VPS настраивается или где включается кеш браузера ?????
Евгений В.
4 года
хостинг: нет
домен: нет
В случае с апачем - это можно сделать через файл .htaccess в папке сайта примерно вот так:

# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>

#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>


Само собой, модули apache mod_expires, mod_headers и mod_setenvif должны быть установлены
martakov_gena
4 года
хостинг: нет
домен: есть
Спасибо за ответ, а как проверить модули apache mod_expires, mod_headers и mod_setenvif установлены или нет?????
Евгений В.
4 года
хостинг: нет
домен: нет
Самый беззаботный способ - прописать правила из моего предыдущего варианта в .htaccess и посмотреть на результат. Если устроит - ну и ладушки. (:
Более правильно - создать в папке сайта файл test.php c кодом:
<?php
phpinfo();
?>

И открыв его в браузере посмотреть что есть в поле "Loaded Modules".
martakov_gena
4 года
хостинг: нет
домен: есть
в .htaccess прописал но в сервисе PageSpeed все равно пишет "Используйте кеш браузера"

Вот какие модули загружаются!

core mod_log_config mod_logio mod_version prefork http_core mod_so mod_actions mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_include mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status mod_suexec mod_vhost_alias mod_ispmgr
Евгений В.
4 года
хостинг: нет
домен: нет
В списке нет mod_expires и mod_headers. Установить из консоли можно вот так:

a2enmod headers
a2enmod expires
service apache2 restart
martakov_gena
4 года
хостинг: нет
домен: есть
Евгений спасибо вам большое все получилось буду теперь на будущее знать как это делается!!! :)
martakov_gena
4 года
хостинг: нет
домен: есть
Евгений подскажите что делать при включении nginx перестает работать кеширование ????
Евгений В.
4 года
хостинг: нет
домен: нет
1
Если nginx ставился через панель ISP, то открываем раздел "Домены" -- "WWW домены", выделяем нужный сайт и кликаем кнопку "Конфиг". В открывшемся окне выбираем вкладку "Nginx" и добавляем сразу после

server {
server_name имясайта www.имясайта;
listen ***.***.***.***;

Строки:

#  Включаем gzip-сжатие картинок, css-файлов, js-скриптов
gzip_static on;
gzip on;
gzip_comp_level  5;
gzip_types application/x-javascript application/javascript text/css image/jpeg image/png;

#  Добавляем кеширование на стороне браузера
expires 168h;
add_header Cache-Control private;

где в строке expires указывается время кеширования (168 часов - это 7 дней)

Если вручную, то всё то же самое - в файле /etc/nginx/nginx.conf

после изменений - обязательно перезапустить nginx выполнив:
service nginx restart


или если нужно чтобы nginx перечитал конфиги без перезапуска:
service nginx reload
martakov_gena
4 года
хостинг: нет
домен: есть
Евгений спасибо все заработало только вопрос в .htaccess этот код оставлять или он уже не нужен?

кеширование в браузере на стороне пользователя

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>

#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
Евгений В.
4 года
хостинг: нет
домен: нет
1
в .htaccess этот код оставлять или он уже не нужен? © martakov_gena

Вреда от него никакого, можно оставлять как есть.
martakov_gena
4 года
хостинг: нет
домен: есть
Евгений спасибо вам за помощь большое, есть еще хорошие люди на свете.
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.