2013-04-24 62 views
0

我创建了一个规则,它工作正常(从网址中删除万维网),除了我有多个域指向同一个来源。如何将此规则应用于特定地址,如果我现在有2个域abc1.com和abc2.com,如果我输入abc2.com,它会重定向到abc1.com删除万维网站点

我错过了什么?,谢谢

<rule name="Remove www"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^abc1\.com$" negate="true" /> 
     </conditions> 
     <action type="Redirect" url="http://abc1.com/{R:1}" /> 
    </rule> 
+0

你想要的'www'被去除为所有您的网站或只有'abc1.com'? – cheesemacfly 2013-04-25 15:50:33

+0

这两个网站,但如果你能告诉我如何做到这一点,这将是完美的,谢谢! – Ben 2013-04-25 15:52:05

回答

1

要删除www你已经绑定的所有网站,你可以使用:

<rule name="Remove www"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^www\.(.*)$" /> 
    </conditions> 
    <action type="Redirect" url="http://{C:1}/{R:0}" /> 
</rule> 

做些什么:如果URL确实与www.启动,它将请求重定向到任何为www.后( http://{C:1}/{R:0})。

如果你想只匹配你的2个网站abc1.comabc2.com,你可以使用:

<rule name="Remove www"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^www\.(abc[1|2]\.com)$" /> 
    </conditions> 
    <action type="Redirect" url="http://{C:1}/{R:0}" /> 
</rule> 

(只匹配abc1.com,与pattern="^www\.(abc1\.com)$"取代pattern="^www\.(abc[1|2]\.com)$"

+0

的作品,非常感谢,如果它不是太难,你能告诉我你将如何为一个网站做呢? – Ben 2013-04-25 17:14:18

+1

@Ben我在我的答案中添加了代码,让我知道它是否有帮助! – cheesemacfly 2013-04-25 18:41:34

+0

谢谢,你知道一个很好的链接,描述规则如何工作,条件,模式?请纠正我,如果我错了,如果模式是匹配它执行的行动?所以如果我进入abc1.com行动没有执行b/c我没有在开始时输入'www'?还例如,如果我有10个域名,并且我想要2个网站abc1,abc2去除www,我可以将您创建的patten正则表达式添加到匹配网址吗?代替”。*”?再次感谢! – Ben 2013-04-25 20:37:22