iis-7 – 使用查询字符串和问号IIS 7重写IIS

我已经读过线程,我仍然无法解决,我知道我的问题,但想知道是否可以指出我正确的方向.

我已经设定了一个规则:

www.mydomain.com/productlist.asp?CategoryID=2

重写为

www.mydomain.com/homeware/cushions

.

            <rule name="cushions">
                <match url="^homeware/cushions" />
                <action type="Rewrite" url="productlist.asp?CategoryID=2" />
            </rule>

好的,现在我的问题是结果的分页,所以当用户进入下一页时原始域看起来像:

www.mydomain.com/productlist.asp?CategoryID=2&Page=2

这是我遇到问题的地方 – 我希望这成为:

www.mydomain.com/homeware/cushions?page=2

并持续多少页
只是无法让它工作 – 我明白我需要使用查询字符串,但真的很挣扎.寻求专业知识,感谢您的帮助

最佳答案 要捕获查询字符串,您需要使用条件,因为匹配URL不包含它.

所以你可以用以下规则来做到这一点:

<rule name="cushions" stopProcessing="true">
<match url="^homeware/cushions$" />
<conditions>
    <add input="{QUERY_STRING}" pattern="page=(\d+)" />
</conditions>
<action type="Rewrite" url="productlist.asp?CategoryID=2&amp;page={C:1}" appendQueryString="false" /> 
点赞