0

Web サイトのホームページだけをリバース プロキシしようとしています - 以下のルールを使用しようとしています。基本的に、コンテンツをサーバーにする代替ページがありますが、サイトの元の URL をリバース プロキシからのコンテンツと共に表示する必要があります。両方のページは同じドメインにあります - 唯一の違いは、一方が www.domain.com で、もう一方が www2.domain.com であることです。

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
ProxyPass http://www.domain.com http://www2.domain.com/
ProxyPassReverse http://www.domain.com  http://www2.domain.com/

上記のルールを入力しても機能しません - 誰かが私が間違っている場所を教えてもらえますか?

4

1 に答える 1

1

ProxyPassProxyPassReverseの最初の引数はパスです。ディレクティブの正しい構文は次のようになります。

ProxyPass / http://www2.domain.com/
ProxyPassReverse /  http://www2.domain.com/

しかし、それはすべてのリクエストをプロキシします。試す

#disable forward requests
ProxyRequests Off

#allow proxy requests
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

#reverse proxy 
RewriteEngine On
RewriteRule    ^/?$   http://www2.domain.com/ [P,QSA,L]

プロキシが失敗した場合、サーバーの error.log で何が起こったかがわかります。または、mod_rewrite のログを追加すると、リクエストがキャプチャされない理由がわかります

RewriteLogLevel 5
RewriteLog /path/to/a/file
于 2012-05-10T08:21:33.133 に答える