我正在尝试反向代理网站上的主页 - 尝试使用以下规则。基本上我有一个备用页面,我希望内容是服务器,但我仍然希望站点的原始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/
当我在上面提出规则时,它不起作用 - 有人可以告诉我哪里出错吗?
答案 0 :(得分:1)
ProxyPass和ProxyPassReverse的第一个参数是路径,指令的正确语法是
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