Проблема с перенаправлением с использованием расположения заголовка и кеша IE9 - PullRequest
0 голосов
/ 21 июня 2011

У меня проблема с использованием местоположения заголовка PHP с IE9.

Для веб-сайта электронной коммерции я добавляю товары в корзину, используя ссылку, например /cart/add/id-of-product.htm (/cart/add/233.htm). Страница за ним добавляет продукт в корзину и перенаправляет пользователя в /cart.htm. Все отлично работает в FF. Это работает даже в IE9, пока кто-то не попытается добавить тот же продукт в корзину снова. IE «думает», что он может перейти непосредственно на страницу /cart.htm и пропустить мой код, где я пытаюсь добавить продукт в корзину. Каким-то образом IE кеширует информацию о перенаправлении, но почему? Ссылка за кнопкой «Добавить в корзину» четко показывает ссылку /cart/add/233.htm, но если вы щелкнете по ней, она просто пропустит страницу ... Я попытался ввести? R = random-number (/ cart /add/233.htm?263663746), но это не имеет значения.

Кто-нибудь знает, как этого избежать? Я хочу перенаправить пользователя после того, как он добавил товар в корзину, но как мне избежать этого в IE?

Спасибо за ваше время!

1 Ответ

0 голосов
/ 22 июня 2011

Internet Explorer кэширует перенаправления HTTP / 3xx, как разрешено RFC.Если вы не хотите, чтобы данный редирект кэшировался, вам нужно использовать HTTP / 302 без будущего срока действия или максимального возраста.Вы явно не хотите использовать HTTP / 301.

(Ваша попытка вставить произвольную строку запроса в URL сработала бы, если бы вы сделали это правильно, но вы там что-то сделали неправильно.)

...