2

我按照这些说明 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”,这就是我希望它的工作方式。

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

我正在寻找的设置不仅是在只有“domain.com”(没有子域)时重定向到“www.domain.com”,而且还可以以相同的方式重定向任何内部页面。

例如:

any.domain.com = 什么都不做

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

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

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

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

4

2 回答 2

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>
于 2013-09-12T22:15:27.257 回答
0

也可以做同样的事情来删除前缀。以下 URL 上的相同博客文章:

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

于 2013-11-13T08:57:24.897 回答