Mod rewrite IIS仅重定向SSL上的一个域

Mod rewrite IIS仅重定向SSL上的一个域,mod-rewrite,iis,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,但我知道它将

我在IIS上有一些网站是http,但现在我添加了SSL,但只针对一个域。但我有很多自定义域指向同一个网站,这是我需要的

www.example.comexample.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>

您需要添加一个附加条件来重写规则,该条件将检查主机:

<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>