#apache #.htaccess #mod-rewrite #redirect
#apache #.htaccess #мод-перезапись #перенаправление
Вопрос:
Я получаю цикл перенаправления со следующим кодом. Как я могу это исправить?
- первая часть перенаправляет /links.php в / связанный
- вторая часть перезаписывает / связана с /links.php
RewriteBase /domain.com
RewriteRule ^links.php$ linked? [NS,R=301,L]
RewriteRule ^linked$ links.php?redirect=no [NS]
Оба способа работают, поэтому я принимаю первый для публикации. Еще раз спасибо!
Ответ №1:
Вам нужно проверить строку запроса, которую вы добавили во втором правиле, поэтому добавьте RewriteCond перед первым правилом:
RewriteCond %{QUERY_STRING} !redirect=no
Ответ №2:
Вы могли бы сопоставить исходный URL-адрес вместо (возможно, уже) переписанного, используя условие перезаписи:
RewriteCond %{THE_REQUEST} links.php
RewriteRule ^links.php$ linked? [R=301,L]
RewriteRule ^linked$ links.php [L]