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

问题描述 投票:0回答:1

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

所以我试图像这样进行正则表达式

实际网址

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

预期结果

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

我的正则表达式

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

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

您能帮我吗?

regex iis iis-express url-rewrite-module
1个回答
1
投票

对于其他网站,重定向是Url重写的首选方法。否则,重写适用于同一网站。https://blogs.iis.net/owscott/url-rewrite-vs-redirect-what-s-the-difference我们需要匹配查询字符串,然后可以将查询字符串的片段分配给新操作。

ip=([0-9]+)&_=([0-9]+)

请参考以下屏幕截图。enter image description hereWebConfig。

<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>

这里是相关讨论。https://forums.iis.net/t/1238891.aspx?Url+Rewrite+with+multiple+querystring+

© www.soinside.com 2019 - 2024. All rights reserved.