У меня есть следующее правило 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 выполнить преобразование перед обслуживанием файлов.
Я все еще хотел бы знать лучшее решение, если у кого-то оно есть; к сожалению, у меня крайний срок, и в данный момент у меня нет времени возиться с этим самому. Я могу вернуться к этому позже и опубликовать дальнейшие обновления, когда найду время.