0

我创建了一个规则,它工作正常(从 url 中删除 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>  
4

1 回答 1

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\.(abc[1|2]\.com)$"pattern="^www\.(abc1\.com)$"

于 2013-04-25T16:04:24.300 回答