ModRewrite 将多个站点合并为一个

ModRewrite 将多个站点合并为一个

你好,我在配置重写时遇到了一些问题,这些重写有相当复杂的要求

浏览 (www.)A.com 应该 => www.B.com

浏览 (www.)A.com/{anything}/blah/foo/yes 应该 => {anything}.B.com/blah/foo/yes

我已使根重写正常工作,但在使两个规则同时工作时遇到了困难。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?A\.com [NC]
RewriteRule ^$ http://www.B.com [NC,R=301]
Redirect /surveys/ http://surveys.B.com/

这是我尝试将子目录直接重定向到子域而不是使用正则表达式。

答案1

我不会用重定向声明来做到这一点,但只有重写规则类似这样的操作应该可以工作:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?A\.com [NC]
RewriteRule ^$ http://www.B.com [NC,R=301]
RewriteRule ^([^/]+)(.*)$ http://$1.B.com$2 [NC,R=301]

相关内容