Автор Тема: Как использовать кеш браузера?  (Прочитано 5061 раз)

01 Май 2014, 09:32:14
  • Фрилансер
  • *
  • Сообщений: 163
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если указывать в заголовках HTTP дату или срок действия статических ресурсов, браузер будет загружать уже полученные ранее ресурсы с локального диска, а не из интернета. Подскажите пожалуйста как это сделать в PrestaSop?
01 Май 2014, 10:39:30
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Также как и на любом сайте, добавить в 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>
01 Май 2014, 12:06:30
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 132
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Лучше сервер настроить, использовать сжатие и установить время кеширования.
Подключить моды апаша deflate и expires.

В prestashop файл index.php, там можно посмотреть как устанавливается время кеширования и обновления.
header("Expires: ....")
header("Last-Modified: ....")
header("Cache-Control:...")
22 Апрель 2015, 20:16:30
Ответ #3
  • Новичок
  • *
  • Сообщений: 23
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня VPS Linux Debian 7. Ваш код изминений не дал. Не знаете как можно ещё включить кеш? Спасибо.

Да, если сервак Апач, нужно включить модули на сервере: mod_headers и mod_expires.
22 Апрель 2015, 20:54:45
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 132
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подключить моды апаша deflate и expires.
Это для apache. У вас может nginx установлен.