Назад | Перейти на главную страницу

Предотвратить цикл перенаправления в mod_rewrite

Я пишу правило в своем 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, а он необходим для вашего приложения?