PHP перенаправить это принудительное обновление (CTRL + F5) - PullRequest
3 голосов
/ 20 декабря 2011

У меня есть страница с редактируемой таблицей. Мне нужно, чтобы пользователи могли редактировать это, а затем отправлять свои изменения. Все работает хорошо, пока я не перенаправлю их на ту же страницу с новым контентом (соответствующим их изменениям). Тем не менее, они видят старый контент.

Если я нажимаю Ctrl + F5 в браузере, их содержимое обновляется. Мне было интересно, если есть способ заставить это. Это мой php-код, который не помогает принудительно обновлять:

header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');
header( 'Location: http://www.bamozir.com/en/mtl-en/recent/general-info/cost#edit' );

Eugen Rieck Solution отлично подходит для Firefox, Chrome и Safari. Но не в IE и не в Opera. Есть идеи как это исправить?

Ответы [ 3 ]

3 голосов
/ 20 декабря 2011

Что ВСЕГДА работает: при условии, что ваш URL равен http://my.server/my/page?a=b&c=d, вы перенаправляете на http://my.server/my/page?a=b&c=d&nocache=1234567890 с 1234567890 большим случайным числом

2 голосов
/ 20 декабря 2011

Используйте этот заголовок, чтобы использовать обновление:

Refresh: 0;url=http://www.bamozir.com/en/mtl-en/recent/general-info/cost#edit

Подробнее об этом можно узнать здесь: Обновить HTTP-заголовок

2 голосов
/ 20 декабря 2011

Вы должны установить контроль и срок действия кэша на странице, которую вы хотите принудительно обновить. Установив это перед перенаправлением, вы говорите браузеру не кэшировать страницу, с которой вы перенаправляете.

...