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 :: Версия для печати :: закешировался редирект 302
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » закешировался редирект 302

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

1. san4es - 30 Ноября, 2016 - 14:26:37 - перейти к сообщению
плохая ситуация произошла...

делали работы на сайте и временно сделал 302 редирект с директорий на страницу с заглушкой.
после редирект удалил, сервер перезагрузил, а у клиентов он всё ещё работает. где-то помогает очистка кеша браузера, а там там где не помогает, я так понял кеш сидит на проксе.

как теперь их разкешировать и направить туда, куда надо? какие настройки посмотреть.

и расскажите как правильно редирект делать чтоб такого не произошло, если я правильно понял, то надо было 307 делать?
2. Мелкий - 30 Ноября, 2016 - 14:41:56 - перейти к сообщению
302 для временного редиректа использовать верно.
https://tools[dot]ietf[dot]org/html/rfc2[dot][dot][dot]6#section-10[dot]3[dot]3
Цитата:
Since the redirection might be altered on occasion, the client SHOULD
continue to use the Request-URI for future requests. This response
is only cacheable if indicated by a Cache-Control or Expires header
field.

Но заголовков Cache-Control и Expires или быть не должно или должны указываться осмысленно.

307 идентичен 302 по стандарту, но явно описывает поведение клиента, если исходный URL был запрошен не методом GET или HEAD. 307 редирект обязывает клиента переспросить разрешение пользователя отправить запрос ещё раз на другой URL. 303 аналогичен 302 и 307, но требует запросить новый location методом GET.

На время работ на сайте надо вешать 503. И заголовок Retry-After, если известно, когда запуститесь обратно.
3. Sail - 30 Ноября, 2016 - 14:52:06 - перейти к сообщению
san4es, у нас издавна на странице заглушки есть блок:
CODE (html):
скопировать код в буфер обмена
  1. <head>
  2.     <META HTTP-EQUIV="PRAGMA" CONTENT="PUBLIC">
  3.     <META HTTP-EQUIV="EXPIRES" CONTENT="Sat, 26 Jul 1997 05:00:00 GMT">
  4.     <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="no-store, no-cache, must-revalidate">
  5.     <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="pre-check=0, post-check=0, max-age=0">
  6.     <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
  7.     <META HTTP-EQUIV="EXPIRES" CONTENT="0">
  8. </head>
, расположенный там, где и положено (перед <body>) Улыбка
Потом однажды пошёл вал сообщений от пользователей IE-сколь-ко-то-не-помню.
Решилось повторением этого блока в конце файла-заглушки, после </body>
4. san4es - 30 Ноября, 2016 - 14:58:17 - перейти к сообщению
Sail, про это я немного поздно вспомнил, про IE возьму на заметку, спасибо.

как теперь пользователей вернуть туда, куда надо?
5. Sail - 30 Ноября, 2016 - 15:09:16 - перейти к сообщению
san4es пишет:
как теперь пользователей вернуть туда, куда надо?

Помнится, в браузерах есть волшебная комбинация клавиш: Ctrl+F5...
Ну и заглушку со всеми необходимыми заголовками доступной сделать.
Мы-то кроме добавки для IE ничего дополнительно не делали.
6. san4es - 30 Ноября, 2016 - 15:22:52 - перейти к сообщению
волшебная комбинация обновит конкретную страницу? если так, то это нам не поможет.

при переходе по ссылке клиенту выдаёт страницу-заглушку (либо 404 если её удалить).
если кеш удалить рукамаи, то некоторым помогает. у кого-то нет.

кеш (ссылок???) где-то на проксе сидит. у клиента, допустим, нет доступа к проксе. вот вопрос в том как это кеш удалить.

 

Powered by ExBB FM 1.0 RC1