Я пишу правило в своем htaccess, которое в основном говорит следующее:
Затем в addCookie.php мы устанавливаем cookie и перенаправляем обратно на домашнюю страницу. Это все нормально, но если пользователь не принимает файлы cookie, мы получаем бесконечный цикл перенаправлений.
Я новичок в mod_rewrite, я много искал, но не могу разорвать цикл. У меня пока есть это:
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [S=1]
RewriteCond %{REQUEST_URI} "^/$"
RewriteCond %{HTTP_COOKIE} !device_detected
RewriteRule ^ addCookie.php [L]
Возможно ли то, что я пытаюсь сделать? Я мог бы добавить строку запроса при перенаправлении из addCookie.php, но я бы предпочел, чтобы запросы были идентичными.
Любые предложения приветствуются.
Да, это невозможно; то REDIRECT_STATUS
не будет присутствовать, когда клиент обрабатывает перенаправление (из addCookie.php
расположение обратно в /
).
Почему бы просто не установить файл cookie как часть обработки вашей домашней страницы, если он не был отправлен клиентом, и потенциально беспокоить пользователя, если он не принял файл cookie, а он необходим для вашего приложения?