Apache NS флаг перезаписи не имеет никакого эффекта - PullRequest
1 голос
/ 05 апреля 2011

Я пытаюсь обернуть голову вокруг флага правила перезаписи NS в Apache. docs говорит, что применение флага к любому правилу приводит к тому, что он не интерпретируется в подзапросах, т.е. е. внутренние запросы, инициированные сервером, а не пользователем.

Тем не менее, попытка RewriteRule !\.html$ static%{REQUEST_URI} [NS], которая должна внутренне перенаправить все URL, не заканчивающиеся расширением .html, которые будут обслуживаться из папки static/, приводит к бесконечному циклу перенаправлений.

Я что, упускаю суть здесь? Если этот флаг не предназначен для предотвращения интерпретации правила в последующих раундах, является ли единственный способ сделать это явно путем отмены переписанного пути в первом аргументе?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

Вы уверены, что вам не нужен флаг L?

Чтобы увидеть, почему он входит в бесконечный цикл, включите RewriteLog иможет быть ниже RewriteLogLevel.

0 голосов
/ 05 апреля 2011

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

Tyrael

...