Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запрет кеш
Форумы портала PHP.SU » » Вопросы новичков » Запрет кеш

Страниц (1): [1]
 

1. UNTRUSTED - 22 Марта, 2012 - 12:56:07 - перейти к сообщению
Такая проблема, давно уже не могу решить! Все перепробовал, но все равно кешируется, в опере точно, в других браузерах не проверял! Но факт что в опере кешируется и этого достаточно!
Пробовал в htaccess писать:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <IfModule mod_headers.c>
  2.   Header  append Cache-Control "no-store, no-cache, must-revalidate"
  3.   </IfModule>
  4.   # Заголовок Expires
  5.   <IfModule mod_expires.c>
  6.   ExpiresActive  On
  7.   ExpiresDefault  "now"
  8.   </IfModule>

и так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  header("Expires: Mon, 26 Jul 1997 05:00:00  GMT");
  3.   header("Last-Modified: " . gmdate(  "D, d M Y H:i:s") . " GMT");
  4.   header("Cache-Control: no-cache,  must-revalidate");
  5.   header("Pragma: no-cache");

и так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  header("Cache-Control: no-store");
  3.   header("Expires: " .  date("r"));

и так
CODE (htmlphp):
скопировать код в буфер обмена
  1. <meta http-equiv='cache-control' content='no-cache'>
  2. <meta http-equiv='expires' content='0'>
  3. <meta http-equiv='pragma' content='no-cache'>

все перепробовал писать! Ничего не помогает - при нажатии кнопок назад вперед ничего не обновляется Разнесу! Разнесу!
Кто может знает?
2. EuGen - 22 Марта, 2012 - 13:13:42 - перейти к сообщению
Потому что при нажатии кнопок "назад"-"вперед" браузер отображает уже загруженные страницы. И он запросит обновление только если страница была сформирована на основе данных запроса пользователя (например, была отправлена форма через POST)
3. UNTRUSTED - 22 Марта, 2012 - 13:19:58 - перейти к сообщению
Т.е. никак не запретить?
А так у меня и без всяких махинаций страницы обновляются, будь то переход по ссылке, отправка формы и.т.д, и не надо ничего химичить!
4. EuGen - 22 Марта, 2012 - 13:22:29 - перейти к сообщению
Сделайте ссылки, к которым дописывайте случайные значения (например, при помощи javascript)
5. UNTRUSTED - 22 Марта, 2012 - 13:24:46 - перейти к сообщению
Какой-то сайт пишет:

Запрет кэширования

Пересохраните файл test-1.php с новым именем test-2.php и измените его следующим образом:
Спойлер (Отобразить)


Теперь попробуйте снова открыть нашу тестовую папку http://localhost/test-cache/, щелкните по имени test-2.php и теперь наживайте кнопки «Назад», «Вперед». Время каждый раз меняется! И это говорит о том, что браузер не берет страницу из кэша при переходе вперед/назад, а заново запрашивает ее с сервера. Что, собственно, нам было и нужно.

(Добавление)
Wiki пишет:

Другим решением является использование метода запроса GET, включающего уникальную строку запроса с каждым вызовом, как показано на примере ниже.
Спойлер (Отобразить)


Следует помнить, что такой способ сильно забивает кеш. Лучше воспользоваться установкой заголовка Expires на прошедшую дату в вашем скрипте
6. EuGen - 22 Марта, 2012 - 13:30:52 - перейти к сообщению
Увы, это не 100% метод. Многое зависит от настроек самого браузера, которые, как правило, не слишком либеральны.

 

Powered by ExBB FM 1.0 RC1