将非www重定向到www.使用URL Rewrite 2.0

Con*_*eak 2 asp.net iis iis-7 url-rewriting

我按照这些说明 http://www.dotnetexpertguide.com/2011/08/iis-7-redirect-domaincom-to.html

经过一些推文后,我可以稍微开始工作,但不完全是我想要的.这是我的设置:

在此输入图像描述

当我自己转到'domain.com'时,这些设置会有效,它会重定向到'www.domain.com'

但是,当我转到域名的内部页面时,例如"domain.com/aboutus.html",它不会重定向到"www.domain.com/aboutus.html",这就是我希望它工作的方式.

我不能(.*)用于模式,因为域上有一个通配符,这意味着如果我键入anythingiwantto.domain.com,它会将我重定向到'www.',这不是我想要的.

我正在寻找的设置是,当它只是'domain.com'(没有子域名)时,不仅会重定向到'www.domain.com',而且还会以相同的方式重定向任何内页.

例如:

anything.domain.com =什么都不做

anything.domain.com/anything.html =什么都不做

domain.com =重定向到www.domain.com

domain.com/anything.html =重定向到www.domain.com/anything.html

此外,我不能使用条件单独允许这些子域,因为有太多的子域允许.我在考虑为内页添加一个单独的规则,但我不知道如何为此编写表达式.

Joa*_*eme 6

    <rule name="Add WWW prefix to DOMAIN.COM">
      <match url="(.*)" ignoreCase="true"/>
      <conditions>
        <add input="{HTTP_HOST}" pattern="^domain\.com"/>
      </conditions>
      <action type="Redirect" url="http://www.domain.com/{R:1}" redirectType="Permanent"/>
    </rule>
Run Code Online (Sandbox Code Playgroud)