将IIS请求从非www重定向到www(多个域跨越多个TLD)

时间:2016-06-03 05:17:50

标签: redirect iis

我有一个在Azure(IIS)上运行的ASP.NET MVC站点。

我想在web.config中创建一个重写规则(除非有人有更好的想法)将没有子域的域的任何请求重定向到包含www的同一地址。这必须适用于多个域,子域和顶级域名。

例如:

domain1.com                 -> www.domain.com
domain5.buzz                -> www.domain5.buzz
http://domain2.com          -> http://www.domain2.com
http://domain2.co.uk        -> http://www.domain2.co.uk
sudomain.domain5.buzz       -> sudomain.domain5.buzz
https://domain5.buzz        -> https://www.domain5.buzz

依旧......

1 个答案:

答案 0 :(得分:0)

我能解决这个问题的唯一方法是静态输入接受的TLD:

<rewrite>
    <rules>
        <rule name="RedirectRoot">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTP_HOST}" pattern="^([a-z0-9]+(-[a-z0-9]+)*)+(\.)(com|net|org|buzz|edu|gov|co.uk)(:[0-9]+)?$"/>
            </conditions>
            <action type="Redirect" url="http://www.{HTTP_HOST}/{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>