Regex 在IIS中更新URL查询字符串在IIS中重写URL

Regex 在IIS中更新URL查询字符串在IIS中重写URL,regex,iis,iis-express,url-rewrite-module,Regex,Iis,Iis Express,Url Rewrite Module,我想在IIS中重写我的URL查询字符串,即更新我的ip=0 所以我试着像这样注册 实际网址 http://test.com/track/?ip=1&_=12345 预期结果 http://api.com/track/?ip=0&_=12345 我的正则表达式 http://test.com/([[u 0-9a-z-]+)/([?[u 0-9a-z]+)=([0-9]+)(.*) http://api.com/{R:1}/{R:2}=0{R:4} 你能帮我吗?对于不同的网站,重定向是重写Url的更

我想在IIS中重写我的URL查询字符串,即更新我的ip=0

所以我试着像这样注册

实际网址

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

预期结果

http://api.com/track/?ip=0&_=12345

我的正则表达式

http://test.com/([[u 0-9a-z-]+)/([?[u 0-9a-z]+)=([0-9]+)(.*)

http://api.com/{R:1}/{R:2}=0{R:4}


你能帮我吗?

对于不同的网站,重定向是重写Url的更好方法。否则,重写适用于同一网站。

我们需要匹配查询字符串,然后可以将查询字符串的片段分配给新操作

ip=([0-9]+)&_=([0-9]+)
请参阅下面的屏幕截图。

网络配置

<rewrite>
        <rules>
            <rule name="MyRule" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{QUERY_STRING}" pattern="ip=([0-9]+)&amp;_=([0-9]+)" />
                </conditions>
                <action type="Redirect" url="http://localhost/track?ip=0&amp;_={C:2}" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>


了解如何设置问题正文的格式,然后了解如何排除重写规则的故障,