如何根据复杂的子域条件重定向到不同的域

时间:2011-02-01 16:07:41

标签: regex .htaccess mod-rewrite

我正在尝试使用有限的正则表达式和htaccess理解做一些复杂的事情。

假设我有以下域名:( h已删除,因此不会将其转换为链接)

TTP://feed.marker.sub.live.com

TTP://feed2.marker.sub.live.com

TTP://feed2.marker.live.com

如果单词标记位于该域中并且前面有一个feedx子域,(feedx可以是任何单词)

然后我想把它重写为

TTP://feed.marker.sub.dev.com

TTP://feed2.marker.sub.dev.com

TTP://feed2.marker.dev.com (按此顺序)

但是 ttp://marker.sub.live.com不应该被重写,也不应该

ttp://anythingelse.live.com或

ttp://feed.anythingelse.live.com或

ttp://marker.live.com

为什么呢?因此,在我们特殊的环境中,我们可以获得最终将在开发服务器上运行的实时服务器上测试的源,直到我们准备就绪。

我正在寻找一些东西 RewriteCond%{HTTP_HOST}(。)。marker。(。)。live.com RewriteRule ,,,

嗯,这是我的问题。如果我认为我更接近解决方案,我会发布任何想法。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

RewriteCond %{HTTP_HOST} ^marker(\.sub)?.live.com$
RewriteRule / - [last]

RewriteCond %{HTTP_HOST} (.+?\d?\.marker\.)(sub\.)?live\.com$
RewriteRule / http://%1%2dev.com [redirect,last]