11

我正在运行安装了官方重写规则模块的 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>
4

1 回答 1

23

自己找到了解决办法,分享一下。

<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>
于 2013-08-21T07:04:01.720 回答