0

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