- Адаптировал: 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>
Вот и все ,пользуемся.
Можешь почитать и вот эту статейку "Хочу админку ,новую админку !!!"
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.