我在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>
以下源网址按预期匹配:
http://domainname?item=1
然而,在重写的URL中重复查询字符串参数“item”,即得到的查询字符串是“item = 1&amp; item = 1”。我不知道它为什么会重复。有什么想法吗?
谢谢
答案 0 :(得分: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>