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

не удается заставить mod_proxy правильно закодировать символы косой черты (/) (% 2f)

У меня есть виртуальный хост, настроенный для перенаправления ntung-gitblit.localhost -> myserver:1279. Однако он не работает с косой чертой с прямым кодированием (%2f). URL-адрес, к которому я пытаюсь получить доступ,

http://ntung-gitblit.localhost/ABC%2fXYZ

Без AllowEncodedSlashes, это не удается - apache пытается получить доступ /error/HTTP_NOT_FOUND.html.var на сервере. Настройка AllowEncodedSlashes к On приводит к следующему обращению внутреннего URL,

http://myserver:1279/ABC/XYZ

И установка AllowEncodedSlashes к NoDecode приводит к попаданию в следующий URL,

http://myserver:1279/ABC%252fXYZ

Другими словами, это чрезмерное или недостаточное ускользание. Вопрос: Как мне добиться успеха myserver:1279/ABC%2fXYZ?

Извините, только что получил (3-й ответ Вот) решение заключается в использовании nocanon в ProxyPass директива

AllowEncodedSlashes On
ProxyPass / http://myserver:1279/ nocanon

Я могу удалить вопрос, если он больше не помогает.