我有两个域名(a.com 和 b.com),a.com 在我的 apache 服务器上运行。我希望尝试访问 b.com 的 Web 浏览器最终到达 a.com/?b(透明地,不重定向,并且如果可能的话,不添加第二个虚拟主机)。
我发现在虚拟主机配置中我可以重写(如图所示)但不清楚,也没有例子。
有人可以提出解决这个问题的最简单方法吗,最好不需要其他虚拟主机?
更新:
我正在尝试用类似这样的方法解决它。我想我已经接近成功了,但还是有点迷茫:
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName a.com
ServerAlias b.com
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)\b\.com
RewriteRule ^(.*) http://%1a.com/?b [L]
</VirtualHost>
答案1
你可以使用反向 HTTP 代理在您的 apache 服务器上进行配置。 看一下这个
你的 http 服务器实际上将提供另一个服务器的内容。例如:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://a.com:8080/
ProxyPassReverse / http://a.com:8080/
ServerName b.com
</VirtualHost>