Борьба с кешем 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)
Не браузер а одно сплошное недоразумение E

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 сек.
Так что не надо нечего изобретать, всё итак уже есть E

13. Дмитрий (15.04.2011 / 21:11)
12. .::lugaro::., большое спасибо за информацию

14. Станислав (15.04.2011 / 21:58)
да не борись с ним D пускай это будет наказание для тех, кто юзает ie D

15. ктулху (15.04.2011 / 22:28)
+1 D чуть позже поставлю

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, операмобайл стоит, но забивает всю оперативку где-то через полчаса работы. Печаль моя не знает границ crazy

20. Валера (17.04.2011 / 11:56)
19. anton.vanin, мини ставь

21. Tony V (17.04.2011 / 12:18)
20, у меня на коммуникаторе нет явы. Да и вообще, тема не об этом

URL: https://visavi.net/topics/20510