Вызывает ли перезапись MOD_Rewrite второй проход по правилам перезаписи? - PullRequest
0 голосов
/ 23 октября 2008

Когда RewriteRule выполняется MOD_Rewrite, будут ли все правила MOD_Rewrite выполняться снова для вновь сгенерированного запроса? В частности, в следующем примере это вызовет цикл?

RewriteCond Host:  (?:www\.)?mysite\.com
RewriteRule ^(.*)$ $1 [QSA,L]

1 Ответ

3 голосов
/ 23 октября 2008

В вашем случае это ни в коем случае не сделает цикл. У вас включен переключатель "L", который фиксирует это конкретное правило как последнее.

Кроме того, вы должны явно форсировать следующую итерацию с помощью переключателей «N» или «NS», иначе она будет просто перемещаться по файлу вашего правила и останавливаться с последним соответствующим правилом. Из документов:

N (Следующая итерация)

Принудительно переписывает движок для модификации цель правила и правила перезапуска проверка с самого начала (все изменения сохранены). Количество перезапуски ограничены значением указанный в RepeatLimit директивы. Если это число превышено Флаг N будет просто игнорироваться.

NS (следующая итерация того же правила)

Работает как флаг N, но перезапускается обработка правил по тому же правилу (то есть заставляет повторить правило приложение). Максимальное количество итерации одного правила задаются Директива RepeatLimit. Но ряд повторение одного правила не считается для глобального числа повторений (т.е. повторяет лимит для ряда итерации, вызванные N-флагом независимо от количества повторов вызвано NS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...