繁体   English   中英

缺少查询字符串参数时,如何在 IIS 中制定重写规则?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM