• 149
  • 0
  • Адаптировал: irbees2008
  • Уровень сложности исполнения: Справочник

Всем привет. Сегодня в одной из групп в контакте про верстку и программирование был задан вопрос как отключить кеш в браузере? Мдаааа..
Просто удивляют люди ,тот чел постоянно меняет основную страничку в плоть до стилей и вот некоторые изменения не находят отклика, приходится чистить кеш браузера. Но суть в чем, человеку лень глянуть настройки браузера , и в конце концов есть поисковики, забил вопрос получил кучу ответов посмотрел, выбрал. Ну если нет того что нужно спрашивай у знатоков .
Ну я уже затрагивал тему кеширования на стороне пользователя, это получается тема наоборот, но и здесь есть несколько решений.

Итак приступим

1.Запрет на кэширование браузером и прокси-сервером

Код:
<meta http-equiv="Cache-Control" content="no-cache">

2.Запрет кэширования страницы, только браузером
Код:
<meta http-equiv="Cache-Control" content="private">

3.Также мы можем сообщить браузеру, сколько хранить документ в кэше. После чего, кэш будет обновлен.
Код:
<meta http-equiv="Cache-Control" content="max-age=3600, must-revalidate">

4. Тоже самое для прокси-сервера.
Код:
<meta http-equiv="Cache-Control" content="max-age=3600, proxy-revalidate">

5. Запрещаем кэширование страницы с помощью PHP, информация выводиться через header заголовки. Вот абсолютный запрет на кэш:
Код:
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));
echo "<h1>", date("H:i:s"), "</h1>";
?>

6. Вариант с разрешимением кэширование только на 1 час.
Код:
<?php
/*
** Разрешаем кэширование на 1 час
*/
header("Cache-Control: public");
header("Expires: " . date("r", time() + 3600));
echo "<h1>", date("H:i:s"), "</h1>";
?>

7. Ну а теперь .htaccess
Все можно сделать на уровне конфигураций сервера Apache. Открываем конфигурационный файл Apache и наблюдаем следующую картину:
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
...
AddModule mod_expires.c
AddModule mod_headers.c

Как видите модули mod_expires и mod_headers включены.

Далее в файле .htaccess, запрещаем кэшировать выводимые данные. Файл .htaccess будет распространяться на директорию, в которой лежит, и на все субдиректории.
Код:
# Заголовок 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 час:

Код:
# Заголовок 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>

Вот и все ,пользуемся.

Можешь почитать и вот эту статейку "Подключение и настройка плагина ga_stat"

mistakes

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Ваше мнение

Какие темы вам интереснее?
Результаты

----