Web.config www重写如果没有子域

时间:2013-11-11 20:52:12

标签: asp.net-mvc web-config

有没有人知道如何修改下面的重写规则,如果不存在子域,只添加前面的www?

<rule name="WWW Rewrite" enabled="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$" />
    </conditions>
    <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
</rule>

TIA

1 个答案:

答案 0 :(得分:0)

我刚刚写了这个并在我们的IIS 7.5盒子上测试过它。它只添加了“www。”如果没有子域名。

<rule name="Redirect naked domains (that do NOT have a custom sub-domain) to www.domain.com" enabled="true" stopProcessing="true">
    <match url="(.*)" />
        <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
            <add input="{HTTP_HOST}" pattern=".*\..*\.com" negate="true" />
        </conditions>
    <action type="Redirect" url="http://www.{HTTP_HOST}{REQUEST_URI}" appendQueryString="true" redirectType="Permanent" />
</rule>