Regex IIRF v2.0-域帮助';s和重定向

Regex IIRF v2.0-域帮助';s和重定向,regex,dns,subdomain,iirf,Regex,Dns,Subdomain,Iirf,我有一个主域,我们称之为xyz.com。我还有其他几个辅助域,如abc.com def.com、ghi.com等。。这些域都有相同的内容 我正在尝试在IIRF中执行URL重定向,该重定向将占用任何辅助域,并将其替换为我的主xyz域 这是我最近的一次 RewriteCond %{HTTP_HOST} ^(?!(.*)\.xyz\.com)$ RedirectRule ^/(.*)$ http://*1.xyz.com/$1 问题1:如果我导航到123.abc.com,我会

我有一个主域,我们称之为xyz.com。我还有其他几个辅助域,如abc.com def.com、ghi.com等。。这些域都有相同的内容

我正在尝试在IIRF中执行URL重定向,该重定向将占用任何辅助域,并将其替换为我的主xyz域

这是我最近的一次

RewriteCond  %{HTTP_HOST}  ^(?!(.*)\.xyz\.com)$
RedirectRule ^/(.*)$        http://*1.xyz.com/$1   
问题1:如果我导航到123.abc.com,我会被带到.xyz.com(我正在丢失我的子域,我想我可以用“*1”检索它)

问题2:即使我进入www.xyz.com,我也会被重定向到。xyz.com此规则显然应该忽略任何xyz.com

这应该有效

#not in main.com
RewriteCond %{HTTP_HOST} !.*main.com [NC]
#get the subdomain as a backreference to use in the RewriteRule
RewriteCond %{HTTP_HOST} (.*)[a-z0-9]+\.[a-z]+$ [NC]
#Rewrite the new URL
RewriteRule ^(.*)$ http://%1main.com/$1 [NC,QSA,L]
虽然我不是最优秀的超级正则表达式大师,但可能有一些边界案例提供了意想不到的结果

这应该是可行的

#not in main.com
RewriteCond %{HTTP_HOST} !.*main.com [NC]
#get the subdomain as a backreference to use in the RewriteRule
RewriteCond %{HTTP_HOST} (.*)[a-z0-9]+\.[a-z]+$ [NC]
#Rewrite the new URL
RewriteRule ^(.*)$ http://%1main.com/$1 [NC,QSA,L]

虽然我不是最优秀的超级正则表达式大师,但可能有一些边界案例提供了意想不到的结果

我花了一周时间,但我做到了

##### handles 3-part domains like "xxx.yyy.com"
    RewriteCond %{HTTP_HOST} ^(.*)\.(?!xyz).*\.com$        
    RedirectRule ^/(.*)$ http://*1.xyz.com/$1 [R=301]


我花了一个星期,但我成功了

##### handles 3-part domains like "xxx.yyy.com"
    RewriteCond %{HTTP_HOST} ^(.*)\.(?!xyz).*\.com$        
    RedirectRule ^/(.*)$ http://*1.xyz.com/$1 [R=301]


我真的想在这里改变方向。我可以用重定向规则代替重写规则吗?哦,我的错,我把重定向规则看作是重写规则。在任何情况下,将
R
添加到重写规则末尾的标志中,以使用重定向。您甚至可以指定HTTP重定向代码,例如R=301Regex不太正确。我得到了“?!”的意思是“没有”。现在我没有得到任何效果与您的代码到位…投票赞成您的努力。能够从开发者那里得到直接的回答。我真的想在这里改变方向。我可以用重定向规则代替重写规则吗?哦,我的错,我把重定向规则看作是重写规则。在任何情况下,将
R
添加到重写规则末尾的标志中,以使用重定向。您甚至可以指定HTTP重定向代码,例如R=301Regex不太正确。我得到了“?!”的意思是“没有”。现在我没有得到任何效果与您的代码到位…投票赞成您的努力。能够从开发者那里得到直接的回答。