Учитывая то, что сказано в документации о RewriteCond , и что вы получите, я бы сказал, что RewriteConditions применяются только к одному следующему RewriteRule:
Директива RewriteCond определяет
условие правила. Один или больше
RewriteCond может предшествовать RewriteRule
директивы. Следующее правило тогда
используется только если оба текущего состояния
URI соответствует своему шаблону, и если
эти условия соблюдены.
Что если вы попытаетесь продублировать эти RewriteCond перед вторым RewriteRule? Хотя бы в качестве теста?
И вот интересная вещь о флаге S | Skip. Среди прочего и в качестве примера сказано:
Флаг [S]
используется для пропуска правил
что ты не хочешь бежать. Это может
следует рассматривать как заявление Goto в
ваш набор правил перезаписи.
А также:
Эта техника полезна, потому что
RewriteCond относится только к
RewriteRule сразу после него.
Таким образом, если вы хотите сделать
RewriteCond применяется к нескольким
RewriteRules, один из возможных методов
это отрицать эти условия и использовать
[Skip]
флаг.
Я никогда не пробовал это, но это может быть полезно в вашей ситуации ... может быть ^^
Тем не менее, это часть документации Apache, которая, кажется, указывает на то, что я сказал ранее, верно.