[英]How to make a rewrite rule in IIS when a querystring parameter is missing?
当 Url 缺少查询字符串的一部分时,我想重定向。 所以,例如
https://www.example.com?foo=1&bar=2
是有效的 url,不要做任何事情。 但是,当 url 看起来像这样时:
https://www.example.com?foo=1
我想重定向到https://www.example.com
这里缺少“bar”,但“bar”可以是任何名称。
为此,我想使用 IIS 重定向使用正则表达式。 我发现了这个问题: IIS URL 重写 - 如果缺少查询参数,但我无法让它在我的场景中工作。 这是因为 ? 之后的所有其他查询字符串参数?
可以有任何名字。 第一个参数总是foo
,但参数的 rest 可以有任何名称。
有人可以帮我用正确的正则表达式吗?
编辑:必须重定向的查询字符串的真实示例:
?crop=0,0,0,0
或?crop=2.6111111111111112,0.22222222222222221,0,0
两者都缺少&
所以它们必须被重定向。
您可以尝试以下 url 重写规则:
<rule name="query string rule" stopProcessing="true">
<match url="(.*)" negate="false" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^foo=(\d{0,5})$" />
</conditions>
<action type="Redirect" url="http://www.sample1.com/" appendQueryString="false" />
</rule>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.