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