IIS 8 URL重写-HTTP到HTTPS并删除子域

时间:2018-06-27 15:06:47

标签: iis url-rewrite-module

我一直在努力寻找一些可以满足我们需求的重写规则的好例子,但是我还没有发现任何真正可以指示我正确方向的东西。

当前,我们的网站会定期提供HTTP服务,只有几个页面可以接受订单。

我们当前的网站URL格式为:http://www.example.com

我们当前的站点HTTPS URL格式为:https://secure.example.com

我们希望取消HTTPS页面上的secure子域,并将所有流量从非HTTP页面重定向到HTTPS,同时保留任何页面路径或请求查询/参数(使用301 perm重定向)。

所以我们的重定向应该是:

http://www.example.com ---> https://www.example.com

https://secure.example.com ---> https://www.example.com

并保留带有参数的完整URL

http://www.example.com/subfolder/item.aspx?id=000 ---> https://www.example.com/subfolder/item.aspx?id=000

https://secure.example.com/subfolder/order.aspx?id=000 ---> https://www.example.com/subfolder/order.aspx?id=000

我已经创建了从HTTP重定向到HTTPS的规则,但是它不保留URL路径(因此http://www.example.com/subfolder/page只是重定向到https://www.example.com):

<rule name="Http to Https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}{REQUEST_URL}" />
</rule>

有人可以帮助我设置规则以适应我们的两种情况吗?谢谢!

0 个答案:

没有答案