IIS7/IIS7.5如何利用 URL重写实现HTTP重定向到HTTPS

前提条件:

a.网站域名安装了SSL证书;

b.IIS支持URL重写.

如果不支持,下载安装URL重写模块:Microsoft URL Rewrite Module

32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi

设置步骤:

 

a.首先,打开IIS 管理器,找到对应的网站.

b.SSL设置,确保“Require SSL”未选中。

c.URL Rewite 设置

进入“URL重写模块,点击添加规则>>选择空白规则,编辑相应项.

<rewrite>

<rules>

<rule name=”Redirect to https” stopProcessing=”true”>

<match url=”(.*)” />

<conditions>

<add input=”{HTTPS}” pattern=”^OFF$” />

<add input=”{HTTPS_HOST}” pattern=”^(localhost)” negate=”true” />

</conditions>

<action type=”Redirect” url=”https://{HTTP_HOST}/{R:1}” redirectType=”SeeOther” />

</rule>

</rules>

</rewrite>

//以上配置其实是写入web.config,所以其实也可以直接修改web.config.

编辑完成后,点击应用. 此时会多一条rule.至此配置完成.

注意:

1.重定向URLhttps://{HTTP_HOST}/{R:1}

切记不要写成https://{HTTP_HOST}:449/{R:1},否则重定向失败.如果你这样做了,当你在浏览器访问http://yourdomain.com,会条状到https://yourdomain.com:449.

 

参考网络博客文章.具体链接:http://blog.sina.com.cn/s/blog_6d1b3b900102wrs1.html