5

在我们的 web.config 文件中,我们控制 6 个不同的国际域。

我们如何使用 1 条规则执行以下操作:

重定向

  • www.1of6Domains.com/index.htm
  • www.1of6Domains.com/index.html
  • www.1of6Domains.com/default.asp
  • www.1of6Domains.com/default.aspx

  • www.1of6Domains.com

像这样的东西?

<rule name="Canonical Redirect" enabled="true" stopProcessing="true">
    <match url="(.*)/(index.html|index.htm|default.asp|default.aspx)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="Redirect" url="{R:1}" />
</rule>
4

1 回答 1

1

我会去:

<rule name="Canonical Redirect" enabled="true" stopProcessing="true">
    <match url="^index.html$|^index.htm$|^default.asp$|^default.aspx$" />
    <action type="Redirect" url="/" />
</rule>

如果说 www.1of6Domains.com 您的意思是每个域可能不同,那么必须采取行动(请记住,它假定非 https 流量): <action type="Redirect" url="http://www.1of6Domains.com" />

编辑: 以下是处理多个域的规则(可以使用一条规则,但需要创建重写映射,不确定您是否想要这种复杂性):

<rule name="Canonical Redirect Non Https">
    <match url="^index.html$|^index.htm$|^default.asp$|^default.aspx$" />
    <action type="Rewrite" url="http://{HTTP_HOST}/" />
    <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
</rule>

<rule name="Canonical Redirect Https">
    <match url="^index.html$|^index.htm$|^default.asp$|^default.aspx$" />
    <action type="Rewrite" url="https://{HTTP_HOST}/" />
    <conditions>
        <add input="{HTTPS}" pattern="^ON$" />
    </conditions>
</rule>
于 2012-12-05T23:08:35.180 回答