使用tld catchall重写Umbraco URL

时间:2013-12-08 19:03:34

标签: redirect url-rewriting umbraco

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

我尝试为所有顶级域设置通用规则,以重定向到每个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" />

有人可以推荐一个解决方案 - 看起来像urlrewriting不接受.tld作为参数吗?

1 个答案:

答案 0 :(得分:1)

刚刚用Fiddler想出来。

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

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

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

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