如何追加查询字符串&通过IIS重写规则的价值?

时间:2013-08-19 10:09:00

标签: iis rewrite

我正在运行安装了官方重写规则模块的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}&amp;flag=value" appendQueryString="false" logRewrittenUrl="true" />
        </rule>
    </rules>
</rewrite>

1 个答案:

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