SSL证书配置参考如下:
window08 IIS7安装多域名SSL证书绑定443端口
关键是修改C:WindowsSystem32inetsrvconfigapplicationHost.config配置在443后面加上指定的域名
http跳转https,参考如下:
https://www.cnblogs.com/wer-ltm/p/10190535.html
https://www.cnblogs.com/xiaohi/p/8038042.html
关键代码:
<system.webServer> <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> </system.webServer>
如果一个站点绑定多个域名(未必是子域名):
a.domain.com
b.domain.com
c.domain.com
我们只需要子域名a跳转,参考如下:
IIS rewrite rule to redirect specific domain url to different url on same domain
则配置如下:
<rewrite> <rules> <rule name="redirect" enabled="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" /> <add input="{HTTP_HOST}" pattern="^a.domain.com$" /> </conditions> <action type="Redirect" url="https://a.domain.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule> </rules> </rewrite>
IIS配置不带www跳转到www,参考如下:IIS7设置将域名不带www跳转到带www上
主要配置如下:
<rewrite> <rules> <rule name="www" stopProcessing="true"> <match url="^(.*)" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_HOST}" pattern="^(domain.com)(:80)?" /> </conditions> <action type="Redirect" url="http://www.domain.com/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>