Apache2 将域重定向到内部页面

Apache2 redirect domain to internal page

我有两个域指向由 apache2 托管的站点(例如 a.com 和 b.com)。主域是 a.com,可以从该域访问网站。

然而,页面a.com/test/应该重定向到b.com(而不是b.com/test/)以显示来自服务器的内容并且该内容也应该显示如果直接访问b.com。

我认为反向代理可能是要走的路,但没有任何运气,我想知道这是否可以在我的 .htaccess 文件中完成(两个域都指向服务器)。

您不需要反向代理。只要 a.com 和 b.com 的 DNS 指向同一个 apache 服务器,您就可以通过使用虚拟主机和重定向来设置它。

对于 b.com 虚拟主机,只需将其设为 DocumentRoot 测试文件夹(完整路径)。如果那不可行,您也可以通过 htaccess 执行此操作。

对于重定向,将其添加到 a.com 的文档根目录中的 htaccess 文件中:

RewriteEngine On
RewriteCond %{HTTP_HOST} a\.com$ [NC]
RewriteRule ^test/(.*)$ http://b.com/ [L,R=301]

和 b.com 如果您无法在 vhost

中设置 DocumentRoot
RewriteCond %{HTTP_HOST} b\.com$ [NC]
RewriteCond  !^test/
RewriteRule ^(.*)$ /test/ [L]