Você não poderia simplesmente modificar seu RewriteRule? Ele tem o sinalizador NE para evitar o escape de caracteres especiais.
RewriteRule /test.htm "/test page.html" [NE,R]
Eu tenho essa regra de proxy reverso muito simples no Apache 2.2.19:
ProxyPass /test http://other.local.machine/test
ProxyPassReverse /test http://other.local.machine/test
O problema é que parece que o mod_proxy escapa dos caracteres especiais no cabeçalho Location
, mas os caracteres especiais que existem já escaparam (por exemplo, os espaços se tornam %20
). Então, no final, um espaço simples é convertido na seqüência fugaz %2520
.
A razão pela qual os cabeçalhos Location
já estão com escape é porque eles são gerados por uma diretiva RewriteRule
, que escapa caracteres por padrão.
Como posso corrigir isso?
Você não poderia simplesmente modificar seu RewriteRule? Ele tem o sinalizador NE para evitar o escape de caracteres especiais.
RewriteRule /test.htm "/test page.html" [NE,R]