IIS URL重写与页面号的可选参数

时间:2017-12-06 12:41:53

标签: asp.net iis url-rewriting web-config

我需要帮助为以下网址格式编写重写规则

www.mydomain.com/list-of-(buyers|suppers|all)-in-(location-name)/page/10.html
  1. 第一个参数是“买家”或“供应商”或“全部”
  2. 第二个参数可以是任意位置名称
  3. '/ page / number'部分是可选的
  4. url将始终以'.html'
  5. 结尾

    更新

    我设法写了一个成功匹配以下网址的重写规则:

    mysite.com/list-of-buyers-in-goa/page/5.html

    同样的规则不适用于以下网址

    mysite.com/list-of-buyers-in-goa.html

    即。当我从网址中删除page/no部分时,它不起作用。第一页我不需要page / no参数。

    由于网站上的所有其他网页都是.html页面,为了保持统一性,我希望网址始终以.html

    结尾

    这是我的重写规则

        <rule name="Rewrite rule for listing members">
          <match url="^list-of-([a-z-A-z]+)-in-([a-zA-z-]+)?(\/page\/)?([\d+])?\.html$" />
          <action type="Rewrite" url="members.aspx?type={R:1}&amp;location={R:2}&amp;page={R:4}" />
        </rule>
    

    -

1 个答案:

答案 0 :(得分:0)

试试这个;

.*.com\/list-of-(buyers|suppers|all)-in-.*html$

我使用&#34; mysite.com/list-of-buyers-in-goa.html" mysite.com/list-of-buyers-进行了测试in-goa / page / 1234.html ,它匹配。