Назад | Перейти на главную страницу

Apache ProxyPass - Обратное экранирование специальных символов.

У меня есть очень простое правило обратного прокси в Apache 2.2.19:

ProxyPass         /test     http://other.local.machine/test
ProxyPassReverse  /test     http://other.local.machine/test

Проблема в том, что кажется, что mod_proxy экранирует специальные символы в Location заголовок, но специальные символы есть уже экранированные (например, пробелы становятся %20). Итак, в итоге простое пространство превращается в ускользающую последовательность %2520.

Причина, по которой Location заголовки уже экранированы, потому что они сгенерированы RewriteRule директива, которая по умолчанию экранирует символы.

Как я могу это исправить?

Не могли бы вы просто изменить свое RewriteRule? Он имеет Флаг NE чтобы предотвратить экранирование специальных символов.

RewriteRule /test.htm "/test page.html" [NE,R]