Escapando espaços em mod_rewrite
-
05-07-2019 - |
Pergunta
Eu tenho a seguinte regra mod_rewrite Apache:
RewriteRule ^(.*) http://127.0.0.1:4321/$1 [proxy]
Isso funciona muito bem; Apache encaminha todos os pedidos para o servidor CherryPy tenho rodando na mesma máquina.
Infelizmente, eu estou tendo alguns problemas com caminhos que têm um espaço. Se eu fizer um pedido de /Sites/some%20site/image.png
então Apache faz uma solicitação para CherryPy para /Sites/some site/image.png
que messes até CherryPy.
Existe uma maneira de especificar na minha RewriteRule que eu gostaria de espaços re-escape do URL antes de encaminhar o pedido para CherryPy?
EDIT: Eu encontrei uma referência a algo que poderia ajudar , mas eu fui frente e abaixou o problema, substituindo os espaços com sublinhados e ter CherryPy fazer uma conversão antes de servir os arquivos.
Eu ainda gostaria de saber a melhor solução, se alguém tiver um; infelizmente, eu estou em um prazo e não tem tempo para mexer com isso mesmo no momento. I pode voltar a esta atualizações posteriores e pós mais quando eu encontrar o tempo.
Solução
Por favor, veja http://tools.cherrypy.org/wiki/ModRewrite#Bewaretheencodingbug para a melhor solução conhecida.