我一直在努力寻找一些可以满足我们需求的重写规则的好例子,但是我还没有发现任何真正可以指示我正确方向的东西。
当前,我们的网站会定期提供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>
有人可以帮助我设置规则以适应我们的两种情况吗?谢谢!