IIS重写规则 - 当查询字符串包含单词时否定

时间:2018-03-23 15:57:46

标签: redirect https url-rewriting config url-rewrite-module

我有一个重写规则来强制在我的网站上使用HTTPS,但我需要为包含特定查询字符串的页面取消它。

                                    

这是我的网络配置中的规则。我要去这个网址:

mysite.com/data/map?loc=45&loct=2&clean=true&isForImage=true#2/any/false/869/68/13517/Orange/

但我仍然被重定向到https。为什么我的模式不起作用?

1 个答案:

答案 0 :(得分:0)

你的规则是正确的:

<rule name="Redirect to https">
  <match url="(.*)"/>
  <conditions>
   <add input="{HTTPS}" pattern="Off"/>
    <add input="{QUERY_STRING}" pattern="isForImage=true" negate="true"/>
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
</rule>

很可能您的浏览器缓存了301重定向(大多数浏览器都这样做)。您能否清除浏览器的缓存并尝试再次访问mysite.com/data/map?loc=45&loct=2&clean=true&isForImage=true#2/any/false/869/68/13517/Orange/