例如:
如果子域URL不是www.domain.com/something,而是类似以下内容:
sub.domain.com/something,然后将其重定向到sub.new-domain.com/something
对我来说,诀窍是(a)仅在不是www的情况下重定向,以及(b)在新域上重定向到相同的子域和路径。
答案 0 :(得分:0)
尝试使用此规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !www\. [NC]
RewriteRule ^(.*)$ http://sub.new-domain.com%{REQUEST_URI} [L,R=301]
条件检查以查看URL是否没有www。如果是这样,则不会继续进行。
如果输入URL http://sub.domain.com/something
,它将更改为http://sub.new-domain.com/something
。但是,如果URL为http://www.sub.domain.com/something
,则规则将无法通过。
在测试之前,请确保清除缓存。
//基于评论进行编辑//
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteCond %{HTTP_HOST} !www\. [NC]
RewriteRule ^(.*)$ http://%1.new-domain.com%{REQUEST_URI} [L,R=301]
根据您的评论,我现在更新了规则。现在,这包括两个条件,第一个条件是获取您的随机子域,第二个条件是检查是否存在www。
重写中使用的 %1
会获取随机子域并将其附加到新的URL。