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

时间:2013-09-12 21:58:53

标签: asp.net iis iis-7 url-rewriting

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

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

enter image description here

当我转到' domain.com'这些设置有效。它本身将重定向到www.domain.com'

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

我无法使用(.*)作为模式,因为域名上有一个通配符,这意味着如果我输入anyiwantto.domain.com,它会将我重定向到' www。' ,这不是我想要的。

我正在寻找的设置不仅仅是重定向到www.domain.com'什么时候只有' domain.com' (没有子域名),但也以相同的方式重定向任何内页。

例如:

anything.domain.com =什么都不做

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

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

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

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

2 个答案:

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

答案 1 :(得分:0)

同样可以删除前缀。以下网址的博客文章:

http://karmic-development.blogspot.in/2013/10/add-prefix-www-automatically-in-url-in.html