Добрый день, Товарищи! недавно я занялся написанием captive portal и столкнулся с проблемой. у людей кешируется мой редирект. Алгоритм у меня такой Всех кто подключается к гостевому wifi я средствами фаирвола отправляю на мой веб сервер Код (PHP): rdr pass on $lan2 inet proto tcp from !<reklama> to !<notproxy> port http -> 192.168.1.1 port http Далее чтобы страница у пользователя открывалась автоматически использую 301 redirect Код (PHP): <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://".$_SERVER['SERVER_ADDR']."/index2.php"); exit(); ?> Гость открывает страницу i.ua ему выскакивает моё рекламное окно, он жмёт, войти в интернет с этого момента у него есть интернет, но проблема в том что если он захочет зайти на сайт i.ua ему снова выскочит рекламная страница. Страница i.ua взята за пример, вместо неё может быть любая другая страница. если посмотреть кеш браузера, то в Server Response он запомнит HTTP/1.1 301 Moved Permanently отсюда вопрос, как сделать так чтобы браузер не запоминал HTTP/1.1 301 Moved Permanently ? Спасибо за помощь Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Moved Permanently - перемещён постоянно, поэтому браузер кешит (постоянно, значит не поменяется, значит, зачем делать лишний запрос на удалённый сервер?). А статус 302 - Moved Temporarily, т.е. перемещён временно, поэтому не кешит.
ни. протоколу передачи гипертекста уже тридцать с лишним лет. документация лежит в открытом доступе. все статусы и поведения клиентов там вполне доступным языком описаны.