IIS仅在SSL上重定向一个域

时间:2017-06-02 15:28:34

标签: mod-rewrite iis

我在IIS上有一些http的网站,但现在我已经添加了SSL,但仅限于一个域。但我有很多自定义域名,这是我需要的

www.example.com example.com 的ssl,但我也有 www.examplenew.com,www.example34.com,example56 .com 指向同一个网站,但我没有ssl为他们,我只需要重写规则www.example.com和example.com其他我不需要。 我在web.config中做了重写规则,重定向到https但知道它重定向到ssl我不需要,这是我的 web.config 文件

 <rewrite>
      <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(*)" />
            <conditions>
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>

1 个答案:

答案 0 :(得分:1)

您需要添加其他条件来重写规则,这将检查主机:

<rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^(www.)?example.com" />
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
</rules>