Борьба с кешем IE
1.
Дмитрий (08.04.2011 / 03:53)
Такая трабла. Ротор. Ошибки и уведомления пишутся в сессию и удаляются при первом же обновлении страницы. Это правильно.
НО!
Глючный IE до такой степени хорошо кеширует страницы со всем содержимым, что при обновлении страницы отображает ее кеш (вместе с кешированными ошибками).
К примеру, юзер ввел пароль, пароль не подходит, его снова перебросило на страницу авторизации, выдалась ошибка "Пароль неверный". Страница закешировалась. Юзер второй раз ввел пароль, пароль подошел и он вошел на сайт. Через время он покинул сайт. На следующий день он входит на сайт, открывает страницу авторизации, и видит закешированную страницу вместе с закешированной ошибкой "Пароль не подходит".
Как побороть такой кеш? Возможно в php.ini (.htaccess) вписать костыль для этого?
Желательно именно отменить кеш сессии. Страница со всеми джаваскриптами и прочим содержимым обязана кешироваться!.
Эту траблу заметил толлько в IE.
Думаю, понятно объяснил. Спасибо.
2.
Tony V (08.04.2011 / 08:05)
Перед выводом ошибки
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.1
header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
3.
Дмитрий (08.04.2011 / 09:13)
2.
anton.vanin, это отменит кеширование всей страницы, я понял?
4.
Tony V (08.04.2011 / 09:52)
Да. Вообще так делать неправильно, но другого выхода нет
5.
Дмитрий (10.04.2011 / 23:55)
Короче, Антоха, пришлось пока пойти на этот критический шаг и запретить кеширование полностью всех страниц для всех версий IE.
Хотя это и не вариант, так как сайт использует 2 библиотеки (Mootools и jQuery) + штук 8 дополнительных файлов джаваскриптов + 3 файла css, не считая картинок в скине.
Тут кеширование полюбому надо...
6.
Валерий (11.04.2011 / 08:08)
Ну если эта ошибка только на странице авторизации, то на ней только и делай запрет кэширования..
Если конечно уверен что это в кэшировании проблема.
7.
ктулху (11.04.2011 / 12:39)
Это ещё фигня. ***пера даже редиректы кэширует
8.
Валерий (11.04.2011 / 13:28)
7. звучит бредово. но проверять лень
9.
ктулху (11.04.2011 / 13:36)
8, поставь phpmyadmin без какого-либо расширения PHP, например php-crypt. PMA будет редиректить на страницу с ошибкой. Делает она это очень упорно, даже при установке нужных расширений.
Добавлено через 00:46 сек.
Другие браузеры относительно норм (IE даже не проверял ибо не юзаю это.. кхм, цензурных слов нет)
10.
Lugaro (11.04.2011 / 13:43)
Не браузер а одно сплошное недоразумение
11.
Дмитрий (11.04.2011 / 14:45)
Короче, поступил по хитрому.
В теге <head></head> уже ПОСЛЕ подключения всех CSS, библиотек и джаваскриптов по условию что это именно IE любой версии прописал 4 Антохины строчки из 2 поста.
В итоге кеширует все, что мне надо, а остальное содержимое страницы пропускаем мимо кеша. Супер.
12.
Lugaro (12.04.2011 / 11:55)
11.
Павел Дуров, Не может быть, отправка заголовков должна быть до вывода каких либо данных, рас ошибки не увидел, значить у тебя есть ob_start и ob_end_flush, и твои заголовки все равно выводятся первыми
Добавлено через 03:29 сек.
Вообще если логически предположить, когда ты ставишь запрет кеша, он не кеширует саму страницу, а вот те файлы js, css и картинки, он кеширует т.к при получении тех файлов там же нет таких же заголовков на запрет кеша и он их кеширует
Добавлено через 06:53 сек.
Так что не надо нечего изобретать, всё итак уже есть
13.
Дмитрий (15.04.2011 / 21:11)
12.
.::lugaro::., большое спасибо за информацию
14.
Станислав (15.04.2011 / 21:58)
да не борись с ним
пускай это будет наказание для тех, кто юзает ie
15.
ктулху (15.04.2011 / 22:28)
+1
чуть позже поставлю
16.
Tony V (16.04.2011 / 16:52)
Наказание? А у меня на коммуникаторе стандартный браузер на урезанном ие6. Что прикажете делать?
17.
KOZZ (16.04.2011 / 17:15)
16.
anton.vanin, а сменить его никак чтоли?
18.
ктулху (16.04.2011 / 17:33)
16, то же что и всем, поставить оперу мобайл
19.
Tony V (17.04.2011 / 02:48)
18, операмобайл стоит, но забивает всю оперативку где-то через полчаса работы. Печаль моя не знает границ
20.
Валера (17.04.2011 / 11:56)
19.
anton.vanin, мини ставь
21.
Tony V (17.04.2011 / 12:18)
20, у меня на коммуникаторе нет явы. Да и вообще, тема не об этом
URL:
https://visavi.net/topics/20510