我想在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}
您能帮我吗?
对于其他网站,重定向是Url重写的首选方法。否则,重写适用于同一网站。https://blogs.iis.net/owscott/url-rewrite-vs-redirect-what-s-the-difference我们需要匹配查询字符串,然后可以将查询字符串的片段分配给新操作。
ip=([0-9]+)&_=([0-9]+)
<rewrite>
<rules>
<rule name="MyRule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="ip=([0-9]+)&_=([0-9]+)" />
</conditions>
<action type="Redirect" url="http://localhost/track?ip=0&_={C:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
这里是相关讨论。https://forums.iis.net/t/1238891.aspx?Url+Rewrite+with+multiple+querystring+