web-dev-qa-db-ja.com

エンコードされたスラッシュ(/)文字(%2f)を正しく転送するようにmod_proxyを取得できません

ntung-gitblit.localhost-> myserver:1279をリダイレクトするように設定された仮想ホストがあります。ただし、フォワードエンコードされたスラッシュ(%2f)では機能しません。アクセスしようとしているURLは、

http://ntung-gitblit.localhost/ABC%2fXYZ

AllowEncodedSlashesがないと失敗します-Apacheはサーバー上の/error/HTTP_NOT_FOUND.html.varにアクセスしようとします。 AllowEncodedSlashesOnに設定すると、次の内部URLヒットが発生します。

http://myserver:1279/ABC/XYZ

また、AllowEncodedSlashesNoDecodeに設定すると、次のURLがヒットします。

http://myserver:1279/ABC%252fXYZ

言い換えれば、それは過剰エスケープまたはアンダーエスケープです。 質問myserver:1279/ABC%2fXYZにヒットさせるにはどうすればよいですか?

11
gatoatigrado

申し訳ありませんが、それを得ました(3番目の答え ここ )。解決策は、nocanonディレクティブでProxyPassを使用することです。

AllowEncodedSlashes On
ProxyPass / http://myserver:1279/ nocanon

役に立たなくなった質問は削除できます。

12
gatoatigrado