如何使用 apache 或 htaccess 将一个域指向另一个域的深层页面

如何使用 apache 或 htaccess 将一个域指向另一个域的深层页面

我有两个域名(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>

相关内容