当从HTTPS协议发出请求时,IIS URL重写规则(Pattern)不会识别{HTTP_HOST}

时间:2018-03-05 05:31:57

标签: asp.net-mvc url-rewriting asp.net-core-mvc iis-8 url-rewrite-module

我有域名E.g. ' example.com' 我想将所有流量重定向到' https://www.example.com' (因为我的证书只适用于' www.example.com') 当我输入' http://example.com'它工作正常,并将我重定向到' https://www.example.com'正如预期的那样

问题当我向' https://example.com'提出请求时它不会被规则重定向到' https://www.example.com'。不知道为什么它失败了https?

以下是我已应用的规则详情。

<rule name="example.com to https://www.example.com" enabled="true" stopProcessing="true">
     <match url="(.*)" />
     <conditions>
          <add input="{HTTP_HOST}" pattern="^example\.com$" />
     </conditions>
          <action type="Redirect" url="https://www.example.com/{R:1}" />
</rule>

1 个答案:

答案 0 :(得分:-1)

试试这个:

           <rule name="Add www" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="www.example.com" negate="true" />
                </conditions>
                <action type="Redirect" url="http://www.example.com/{R:1}" />
            </rule>