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