IIS URLRewrite正则表达式



我对正则表达式很讨厌,对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都将被重定向。

最新更新