0

我正在努力让一些代码为我管理的旧 ASP 商店网站工作 - 我添加了以下内容,效果很好

RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]

问题是类别页面是否有多个页面!因为它像这样向查询字符串添加了另外几个参数

/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder

我正在寻找一个获取三个查询字符串参数并将其附加到重写的 URL 的示例......有人可以帮忙吗?

因此,例如,当前以下 URL 可以正常工作

cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5

当我有多个页面时,我需要执行以下操作吗?但不知道 ISAPI 语法?

cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder

我希望这更有意义?

4

1 回答 1

0

我认为这就是您要问的,设置 [L] 参数以使其在第一次匹配时停止匹配。?

但是 [L] 要求您首先按最严格的顺序排列它们,4 个 args,然后是 3、2 等...

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2 [L]

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/([A-Za-z]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2&sortField=$3 [L]
于 2009-05-01T11:08:46.183 回答