Вопрос

У меня есть следующее правило 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 выполнить преобразование перед обслуживанием файлов.

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

Это было полезно?

Решение

Смотрите http://tools.cherrypy.org/wiki/ModRewrite#Bewaretheencodingbug для самого известного решения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top