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]
我有两个域指向由 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]