Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

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

Недавно столкнулся с тем, что при замене файлов на сервере, пользователи сайта утверждают, что открываются старые файлы из кеша браузера. Поэтому вопрос: как запретить кешировать файлы сайта на стороне пользователя ?

В данном случае для запрета кэширования нам поможет файл .htaccess, в котором надо вписать строки, запрещающие кеширование файлов на сайте:

# Запрещение кеширования
# Необходимо включение модулей
# mod_headers.c и mod_expires.c
 
# Заголовок Cache-Control
<IfModule mod_headers.c>
    Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>
 
# Заголовок Expires
<IfModule mod_expires.c>
    ExpiresActive On ExpiresDefault "now"
</IfModule>

Можно установить время кеширования на стороне пользователя, например обновлять кэш у пользователя будет 1 раз в час

# Разрешение кеширования
# Необходимо включение модулей
# mod_headers.c и mod_expires.c
 
# Заголовок Cache-Control
<IfModule mod_headers.c>
    Header append Cache-Control "public"
</IfModule>
 
# Заголовок Expires
<IfModule mod_expires.c>
    ExpiresActive On ExpiresDefault "access plus 1 hours"
</IfModule>

Чуть не забыл,в конфиге Апача надо убедиться, что следующие модули включены, раскомментируйте их, если они закомментированы

LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
...
AddModule mod_expires.c
AddModule mod_headers.c

 На всякий случай напишу как запретить кеш на php

<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));
echo "<h1>", date("H:i:s"), "</h1>";
?>

Разрешить кэш на 1 час при помощи PHP:

<?php
header("Cache-Control: public");
header("Expires: " . date("r", time() + 3600));
echo "<h1>", date("H:i:s"), "</h1>";
?>

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить