web-dev-qa-db-ja.com

特殊文字をエスケープするApacheProxyPassReverse

Apache 2.2.19には、次の非常に単純なリバースプロキシルールがあります。

ProxyPass         /test     http://other.local.machine/test
ProxyPassReverse  /test     http://other.local.machine/test

問題は、mod_proxyがLocationヘッダーの特殊文字をエスケープしているように見えることですが、そこにある特殊文字はすでにエスケープされています(たとえば、スペースは%20)。したがって、最終的には、単純な空間があいまいなシーケンスに変換されます%2520

Locationヘッダーがすでにエスケープされている理由は、デフォルトで文字をエスケープするRewriteRuleディレクティブによって生成されるためです。

どうすればこれを修正できますか?

4
MaxArt

RewriteRuleを変更するだけではいけませんか?特殊文字のエスケープを防ぐために NEフラグ があります。

RewriteRule /test.htm "/test page.html" [NE,R]
0
brain99