RewriteRuleの左側、つまりパターンは、一致させたいファイル名である必要があります^/AA$
。ホストとポートが特定の値と一致することも確認したい場合は、とに一致するようにRewriteCondを設定する必要が%{HTTP_HOST}
あり%{SERVER_PORT}
ます。ただし、Webサーバーが複数のドメインとポート用に構成されていない限り、後者は不要な場合があります。
これはテストされていませんが、次のようなものです。
RewriteCond %{HTTP_HOST} ^localhost
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/AA$ http://localhost:8090/BB
最初にこれだけを試すことをお勧めします:
RewriteRule ^/AA$ http://localhost:8090/BB
必要に応じてRewriteCondを追加します。
コメントに基づいて編集する:「302」応答を回避しようとしている場合、説明している状況ではそれを行うことはできません。mod_rewriteを使用して1つのホストから別のホストにリダイレクトすると、2つの応答がブラウザーに送信されます。1つ目は302で、これはブラウザに2番目のURLに移動するように指示します。2番目の応答は200である必要があります。
mod_rewriteを使用すると、同じサーバーとポートで1つのページから別のページにリライトする場合に、途中でリダイレクトを回避できます。その場合、リライトは内部で行われ、要求がAAに対するものであっても、WebサーバーはBBページで応答できます。別のサーバーまたはポートを使用する場合、AAのWebサーバーはページBBにアクセスできないため、アクセスできるサーバーへのリダイレクトで応答します。
AAとBBに同じポートを使用するようにサイトを再構成できる場合は、それを機能させることができます。そうでなければ、 mod_proxyでやりたいことができるかもしれないと思います。私はmod_proxyを使用したことがないので、何をする必要があるかわかりません。