2013-12-08 32 views
0

我有很多不同的顶级域名,例如: .co.uk,.us,.it等,但我无法为顶级域名设置正确的重定向规则。我正在使用Umbraco URL重写。Umbraco URL重写tld catchall

我试图为所有顶级域名设置一个通用规则,以重定向到每个tld的新子域名,例如, www.mysite.tld/somepage应指向network.mysite.tld/somepage。

事情是这样的:

Before: 
www.mysite.co.uk/network/123 
www.mysite.us/network/123 
... 

After: 
network.mysite.co.uk/123 
network.mysite.us/123 
... 

这是我的重定向规则,但它不工作:

<add name="NewSubDomain" redirect="Domain" 

virtualUrl="http://www.mysite.(.*)/network/(.*)" 
destinationUrl="http://network.mysite.$1/$2" 

rewriteUrlParameter="ExcludeFromClientQueryString"  
ignoreCase="true" /> 

可有人建议解决这个 - 好像URL重写不接受.TLD作为参数?

回答

1

只是使用提琴手算出来。

显然获取.tld是不可能的,相反,Umbraco重定向将获得没有子域(www。)的整个域名(mysite.tld)。这是我的工作解决方案。

<add name="NewSubDomain" redirect="Domain" 

virtualUrl="^http\://www.(.*)/network/(.*)" 
destinationUrl="http://network.$1/$2" 

rewriteUrlParameter="ExcludeFromClientQueryString"  
ignoreCase="true" />