
exampleA.com と exampleB.com があるとします。Apache Web サーバーで websiteA.com から websiteB.com への書き換えを実行したい場合、つまり、ブラウザーに exampleA.com と入力すると、URL が保持され、exampleB.com に移動したときのように読み込まれたコンテンツが表示されるようにしたい場合、これを直接仮想ホストの追加として実行するにはどうすればよいですか?
私の研究によると、次のようなことが示唆されています。
RewriteRule /some/url(.*) http://exampleB.com/some/url$1 [P,L]
しかし、特定の URI だけでなくドメイン全体を書き換えたいので、「/some/url」部分の関連性がよくわかりません。
同様に、exampleA.com/test.htm に移動すると、exampleB.com/test にあるものがすべてレンダリングされ、ブラウザーにはずっと「exampleA.com/test」と表示されます。
答え1
そのルールをドメイン全体に適用するには、次のようにします。
RewriteRule /(.*) http://exampleB.com/$1 [P,L]
これは基本的に次のものと同じものです:
ProxyPass / http://exampleB.com/
ユーザーのブラウザをドメインに誘導する可能性のあるものはたくさんあることに留意してくださいexampleB
。 はリダイレクトProxyPassReverse
を処理します30x
。
ProxyPassReverse / http://exampleB.com/
exampleB.com
ただし、HTML コンテンツ (mod_proxy_html
役立つ場合があります)、JavaScript、CSS など、コンテンツ内の他のものは を指している可能性があります。
答え2
あなたはできません。
元の URL を保持したい場合は、examplea 経由で exampleb を実際にプロキシ (ProxyPass を検索) するか、何らかのフレームの不正行為を使用する必要があります。