我有两个域指向由apache2托管的网站(例如a.com和b.com)。主域名是a.com,可以从该域访问该网站。
但是,页面a.com/test/应重定向到b.com(而不是b.com/test/)以显示来自服务器的内容,如果直接访问b.com,也应显示此内容。
我认为反向代理可能是要走的路,但没有运气,我想知道这是否可以在我的.htaccess文件中进行(两个域都指向服务器)。
答案 0 :(得分:1)
您不应该需要反向代理。只要a.com和b.com的DNS指向同一个apache服务器,就可以通过使用vhosts和重定向来设置它。
对于b.com vhost,只需将其设为DocumentRoot
测试文件夹(完整路径)即可。如果那不可能,您也可以通过htaccess执行此操作。
对于重定向,请将其添加到a.com的文档根目录中的htaccess文件中:
RewriteEngine On
RewriteCond %{HTTP_HOST} a\.com$ [NC]
RewriteRule ^test/(.*)$ http://b.com/$1 [L,R=301]
如果您无法在vhost中设置DocumentRoot
,则可以使用b.com
RewriteCond %{HTTP_HOST} b\.com$ [NC]
RewriteCond $1 !^test/
RewriteRule ^(.*)$ /test/$1 [L]