前置www二级域重写

时间:2015-01-14 16:01:56

标签: asp.net regex iis rewrite

我想将www添加到网站的每个域名。 这些是我想要包含的域名:

  • domain.com
  • domain.nl
  • domain.de
  • domain.co.in

到目前为止我所拥有的是:

<rule name="Prepend www to 2nd level domain names" enabled="true" stopProcessing="true">
           <match url=".*" />
           <conditions trackAllCaptures="true">
              <add input="{HTTP_HOST}" pattern="^([^.]+\.[^.]+)$" />
                  <add input="{CACHE_URL}" pattern="^(.+)://" />
           </conditions>
           <action type="Redirect" url="{C:2}://www.{C:1}/{R:0}" />
            </rule> 

这适用于所有域名,但co.in除外。我不确定如何将TLD包含在一个以上的'。'?

1 个答案:

答案 0 :(得分:0)

您可以使用<add input="{HTTP_HOST}" pattern="^domain.*" />

更长版本的工作方式如下:Forwarding http://mydomain.com/ctrlr/act/val to http://WWW.mydomain.com/ctrlr/act/val

这与我上面写的基本相同。
以下是适用于支持TLD的规则

<rule name="Add WWW prefix" >
  <match url="(.*)" ignoreCase="true" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^domain\.(.*)" />
  </conditions>
  <action type="Redirect" url="http://www.domain.{C:1}/{R:1}"
          redirectType="Permanent" />
</rule>