反向代理只是主页

时间:2012-05-09 10:57:25

标签: mod-rewrite url-rewriting reverse-proxy

我正在尝试反向代理网站上的主页 - 尝试使用以下规则。基本上我有一个备用页面,我希望内容是服务器,但我仍然希望站点的原始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/

当我在上面提出规则时,它不起作用 - 有人可以告诉我哪里出错吗?

1 个答案:

答案 0 :(得分: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