删除www URL站点

时间:2013-04-24 19:06:33

标签: iis-7 url-rewriting rewrite

我创建了一个规则,它工作正常(从网址中删除www),除了我有多个指向同一源的域。如何才能将此规则应用于特定地址,如果我现在有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>  

1 个答案:

答案 0 :(得分: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>

它的作用:如果网址以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\.(abc[1|2]\.com)$"替换为pattern="^www\.(abc1\.com)$"