IIS URL 重写模块 - 更改形成多个查询字符串的查询字符串参数值

IIS URL Rewrite Module - Change Querystring Parameter Value forming multiple query string

   <rule name="replace query string" enabled="true" stopProcessing="true">
                    <match url="(.*)(ip=1)(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{QUERY_STRING}" pattern="(.*)(ip=1)(.*)" />
                    </conditions>
                    <action type="Redirect" url="{R:0}?{C:0}ip=0{C:2}" appendQueryString="false" logRewrittenUrl="true" />
                </rule>

我已经使用了上述规则并创建了重复的查询字符串

下面我用过url

http://test.com/track/?ip=1&_=1589821794782

我的主要目标是将 test.com 更新为 api.com,然后将 ip=1 更改为 ip=0。

你能帮帮我吗?我是新手?

生成URLhttp://test.com/track/?ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=0&=1589821794782&ip=1&=1589821794782

您的规则模式存在一些问题。您可以看到您的规则的以下失败请求跟踪结果:

为了完成您的退休生活,您可以尝试使用以下规则:

<rule name="replace query string" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTP_HOST}" pattern="test.com" />
                    <add input="{QUERY_STRING}" pattern="ip=1(.*)" />
                </conditions>
                <action type="Redirect" url="http://api.com/{R:1}?ip=0{C:1}" appendQueryString="false" logRewrittenUrl="true" />
            </rule>