web-dev-qa-db-ja.com

ApacheでProxyPassを介して引数を渡す方法

私がやろうとしていて行き詰まっているのは:

特定のURLをキャッチするApacheサーバーがあり、そのうちのいくつかでは、ProxyPass(またはmod_rewrite)を使用して、リバースプロキシとして何かを別のApacheインスタンスに渡します。

だから私はこのようなURLを持っています:

/index.php/info?format=xml&token=SOMENUMERICTOKEN&token=SUMENUMERICTOKEN

私はもう試した :

PassProxy /index.php/info?format=xml https://1.2.3.4:567/index.php/info?format=xml

および関連するProxyReverseですが、機能していません

また、同じ行で書き換えを試み、[P]はプロキシで終了しました。

それらのどれも動作しません。

/index.phpで終わると機能しますが、index.phpへのアクセスを許可できません

1
Lisek

ProxyPassは、一致したURLの部分でのみ動作し、クエリ文字列では動作しません。パターンにクエリ文字列を含めると、一致するものはありません。

したがって、必要なことを行うには、次のようなものを使用します。

ProxyPass /index.php/info https://1.2.3.4:567/index.php/info

この場合、おそらく次のものを使用することもできます。

ProxyPass / https://1.2.3.4:567/

基本的に、proxypassは一種の「検索と置換」と見なされます。 「ProxyPassAB」は、基本的に「URLでAを検索し、見つかった場合はBに置き換える」ことを意味します。

2

OK。

ProxyPassに/index.php/infoを残したところ、機能しました。多分それは逃げる何かでしたか?マーク。

動作します。

0
Lisek