Выходящие пробелы в mod_rewrite - PullRequest
2 голосов
/ 29 октября 2008

У меня есть следующее правило Apache mod_rewrite:

RewriteRule ^(.*) http://127.0.0.1:4321/$1 [proxy]

Это прекрасно работает; Apache перенаправляет все запросы на сервер CherryPy, который я запускаю на той же машине.

К сожалению, у меня проблемы с путями, в которых есть пробел. Если я сделаю запрос на /Sites/some%20site/image.png, то Apache сделает запрос к CherryPy на /Sites/some site/image.png, который испортит CherryPy.

Есть ли способ указать в моем RewriteRule, что я хотел бы повторно экранировать пробелы в URL перед отправкой запроса в CherryPy?

РЕДАКТИРОВАТЬ: я нашел ссылку на что-то, что могло бы помочь , но я решил эту проблему, заменив пробелы подчеркиванием и заставив CherryPy выполнить преобразование перед обработкой файлов.

Я все еще хотел бы знать лучшее решение, если у кого-то есть такое; к сожалению, я нахожусь в крайнем сроке и не имею времени разбираться с этим сам в данный момент. Я могу вернуться к этому позже и опубликовать дальнейшие обновления, когда найду время.

1 Ответ

4 голосов
/ 29 октября 2008

Пожалуйста, посмотрите http://tools.cherrypy.org/wiki/ModRewrite#Bewaretheencodingbug для наиболее известного решения.

...