子域转发到另一个子域而不重定向

时间:2013-09-11 14:20:19

标签: apache .htaccess mod-rewrite

我花了很多时间尝试解决它,最后没有任何影响。

我有一个简单的子域名,如test.example.com和移动子域名m.test.example.com。每个子域都有自己的目录test(我这里有我的脚本)和m.test。 我需要将用户从m.test.example.com转发到test.example.com,而无需重定向到test.example.com

我知道虚拟主机或cpanel很容易做到这一点,但我需要在使用DirectAdmin(仅限用户级别)的共享主机上执行此操作。我想到mod_rewrite,我也尝试过PHP symlink(),但我的托管已禁用它。

如何将用户从移动子域转发到非移动资源?

1 个答案:

答案 0 :(得分:1)

由于两个域(“test”和“m.test”)具有不同的文档根,因此您将需要反向代理。这里的问题是mod_proxy,代理模块,你的主机可能没有加载,但是你会做这样的事情:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^m\.test\.example\.com$ [NC]
RewriteRule ^(.*)$ http://test.example.com/$1 [L,P]

这些规则位于/m.test/子文件夹的m.test.example.com文件夹中。 P标志告诉mod_rewrite将请求交给mod_proxy以反向代理而不是重定向浏览器。