Regex IIS URL重写规则-查询字符串问题

Regex IIS URL重写规则-查询字符串问题,regex,iis,url-rewriting,asp-classic,web-config,Regex,Iis,Url Rewriting,Asp Classic,Web Config,我在web.config文件中配置了以下URL重写规则: <rule name="Test Rule" stopProcessing="true"> <match url="^$" /> <conditions> <add input="{QUERY_STRING}" pattern=".*item=1|all|none|first.*" /> </conditions> <action type="Rew

我在web.config文件中配置了以下URL重写规则:

<rule name="Test Rule" stopProcessing="true">
  <match url="^$" />
  <conditions>
    <add input="{QUERY_STRING}" pattern=".*item=1|all|none|first.*" />
  </conditions>
  <action type="Rewrite" url="/newsite/test.asp?{C:0}" />
</rule>     
但是,查询字符串参数“item”在重写的URL中重复,即生成的查询字符串为“item=1&item=1”。我不知道为什么要复制它。有什么想法吗


谢谢

您是否尝试将
appendQueryString=“false”
添加到操作属性?像这样:

<rule name="Test Rule" stopProcessing="true">
  <match url="^$" />
  <conditions>
    <add input="{QUERY_STRING}" pattern=".*item=1|all|none|first.*" />
  </conditions>
  <action type="Rewrite" url="/newsite/test.asp?{C:0}" appendQueryString="false" />
</rule>    

<rule name="Test Rule" stopProcessing="true">
  <match url="^$" />
  <conditions>
    <add input="{QUERY_STRING}" pattern=".*item=1|all|none|first.*" />
  </conditions>
  <action type="Rewrite" url="/newsite/test.asp?{C:0}" appendQueryString="false" />
</rule>