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

标签 iis-7 url-rewriting url-rewrite-module

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

我已经设置了一个规则:

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" /> 

关于iis-7 - 使用查询字符串和问号 IIS 7 重写 IIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136986/

相关文章:

asp.net - IIS 7 日志文件自动删除?

iis - 静态网页的url重写规则-使用带附加参数的url后返回404

apache2 - 给定页面的 https 重定向到 http

Azure CDN 规则引擎

.net - WAS 托管与 Windows 服务托管

php - 在 IIS 上使用 PHP 进行 Windows 身份验证

php - 如何强制重写网址?

asp.net-mvc - URL 重写和 IIS Express : some rules work, 有些没有

asp.net - 在 Azure 网站上设置 URL 重写的 header - AppCmd 或 applicationhost.config?

IIS 尾部斜杠规则不会从域的根目录中删除尾部斜杠