我对正则表达式很讨厌,对IIS中的URL重写模块也很陌生,所以请原谅我…
我有一个场景,我有1-2页,我需要被重定向到一个特定的位置和协议(https)。
的URL
https://www.domain.com/specific/location/mypage.aspx
我需要确保用户在尝试访问此页面时击中此特定url。因此,下面的任何一个都应该将用户重定向到我"想要的"url:
http://www.domain.com/specific/location/mypage.aspx
http://domain.com/specific/location/mypage.aspx
https://domain.com/specific/location/mypage.aspx
http://www.anotherDomain.com/specific/location/mypage.aspx
http://anotherDomain.com.com/specific/location/mypage.aspx
https://anotherDomain.com.com/specific/location/mypage.aspx
我需要这个发生在这个页面和另一个页面,我需要确保只有这些页面被重定向到ssl,所以网站的其余部分应该重定向到它的http版本,如果用户在https类型。我该如何做到这一点,我是否需要多个规则,等等?
非常感谢任何帮助。
值得庆幸的是,这并不像看起来那么复杂。当使用IIS URL Rewrite模块创建规则时,match标记中的"URL"只查看主机名之后的所有内容。它看不到domain.com。
所以,在你的网络中。配置,在系统内。web服务器部分,在您的重写部分:
<rule name="Redirect Specific Location" enabled="true" stopProcessing="true">
<match url="specific/location/mypage.aspx"/>
<action type="Redirect" url="https://www.domain.com/specific/location/mypage.aspx"/>
</rule>
这样任何URL都以specific/location/mypage结尾。无论主机名是什么,Aspx都将被重定向。