我正在运行安装了官方重写规则模块的IIS 7。我想创建一个匹配此URL的重写规则:
http://www.sample.com/en-us/test.aspx?q=keyword
重写预期结果后将是:
http://www.sample.com/en-us/test.aspx?q=keyword&flag=value
如何创建规则来实现此目的?
我已经测试了以下规则,但没有运气,它总是有重定向循环错误:
<rewrite>
<rules>
<rule name="test" stopProcessing="true">
<match url="(.*)/test\.aspx(.(?!flag=value))*$" />
<action type="Redirect" url="{R:0}&flag=value" appendQueryString="false" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
答案 0 :(得分:19)
自己找到解决方案,只需分享即可。
<rewrite>
<rules>
<rule name="Redirect for download result page" stopProcessing="true">
<match url="(.*)/test.aspx(.*)" />
<action type="Redirect" url="{R:1}/test.aspx?rf=sp" appendQueryString="true" redirectType="Found" />
<conditions>
<add input="{QUERY_STRING}" pattern="flag=value" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>