Исключите каталог из перезаписи с использованием isapi Rewrite 3
-
28-09-2019 - |
Вопрос
В основном я недавно добавил правило ниже в My httpd.conf для isapi Rewrite на сервере IIS, чтобы убедиться, что он всегда по умолчалах, чтобы по умолчанию в строке файла и имена каталогов.
RewriteRule ^(.*[A-Z].*)$ $1 [CL,R=301,L]
Это все хорошо и денди для каждой части сайта, за исключением одного каталога, который мы можем позвонить /MisbehavingDir
, код в этом конкретном каталоге заполнен смешанными именами файлами и множеством сценариев для серверов и клиента, которые должны были бы быть переписаны, чтобы использовать все строчные, чтобы работать правильно (с переписанием выше, кажется, ударил Пару 301-х годов в неправильных местах, которая вызывает то, что часть сайта плохо функционирует, чтобы сказать наименее).
Поскольку я не в настроении для переписывания этой части сайта, я бы хотел найти хороший способ изменить вышеупомянутое регулярное выражение, чтобы он соответствовал всем, кроме пути, начиная с MISBEHAVINGDIR, и с момента моего регенератора-фу Достаточно я подумал, что спрошу здесь.
Есть ли простое «красивое» решение для этого, чтобы кто-то хочет поделиться или я должен просто отложить несколько дней, чтобы переписать приложение, затем проверить его и пройти через этот танец?
Решение
Ну, видимо, хитрость было добавить оператор Rewritecond, которое выглядит что-то вроде RewriteCond %{URL} ^(?!/MisbehavingDir/.*$)
Чтобы сделать ISAPI Rewrite пропустить следующее правило.