0

バックエンドにTomcatサーバーのクラスターを備えたApache httpサーバー(ロードバランサー)を備えた機能環境があります。ただし、1 つの問題に悩まされています。要求 URL を必要なものにリダイレクトまたは書き換えることができません。例えば、

request url - http://www.yyy.com

リダイレクトまたは書き換えたい

http://www.yyy.com/mycontext

リダイレクトして書き直してみましたが、うまくいきませんでした。

RewriteRule    ^/$  http://www.yyy.com/mycontext/  [L] - Error (can't fine the url)

そして、私はこれを試しました、

Redirect / http://www.yyy.com/mycontext/ - this results in the following, 

http://www.yyy.com/mycontext/mycontext/mycontext/mycontext/mycontext/........... repeats.  

正しい条件文がわかりません。サーバー変数を使用して rewritecond を書き込もうとしましたが、何か問題があり、無視されます。

任意の支援をいただければ幸いです。私はこの分野であまり経験がありません。

4

1 に答える 1

0

そして、これProxyPass / http://www.yyy.com/mycontext/www.yyy.comの設定にありますか?


はい、仮想ホストで

ロードバランサーがどのように機能する可能性があるかわかりません。リクエストを自分自身にプロキシしていますが、プロキシされた各リクエストは独自のスレッドで実行されるため、すぐにスレッドが不足します。

  1. のリクエスト/が仮想ホストに到着します
  2. ProxyPasshttp://www.yyy.com/mycontext/それ自体であるにリバース プロキシします。
  3. のリクエスト/mycontext/が仮想ホストに到着します
  4. ProxyPassリバースプロキシhttp://www.yyy.com/mycontext/mycontext/
  5. のリクエスト/mycontext/mycontest/が仮想ホストに到着します
  6. ProxyPassリバースプロキシhttp://www.yyy.com/mycontext/mycontext/mycontext/

おそらくあなたが探しているのは次のとおりだと思います:

RewriteCond %{REQUEST_URI} !^/mycontext/
RewriteRule ^(.*)$ /mycontext/$1 [L]

しかし、これはロード バランサーや Tomcat サーバーとは関係ありません。

于 2012-10-22T06:55:24.070 に答える