mod重写问题有2个参数

时间:2009-11-22 18:38:44

标签: php mod-rewrite pagination

我正在尝试重写我的商店系统的类别文件,我还整合了一个分页,所以我需要重写2个参数。它几乎可以工作,否则我不会在这里发帖

这是重写

RewriteRule ^shop/cat/(.*)/page/([0-9]+)$ /cmstut/shop/cat.php?cat=$1&page=$2 [QSA,L]

这是网址

http://localhost/cmstut/shop/cat/32/page/2

猫工作但不是页面,当我打印查询字符串时,我得到了这个:

cat=32/page/2 

我做错了什么?我期待像cat = 32& page = 2这样的东西,所以我可以抓住页面并显示分页的正确页面。

1 个答案:

答案 0 :(得分:1)

你可能有两条规则,第二条规则如下:

RewriteRule ^shop/cat/(.*)$ /cmstut/shop/cat.php?cat=$1 [QSA,L]

此规则将导致shop/cat/32/page/2的请求被重写错误。您需要使用更具体的模式:

RewriteRule ^shop/cat/([^/]+)$ shop/cat.php?cat=$1 [QSA,L]
RewriteRule ^shop/cat/([^/]+)/page/([0-9]+)$ shop/cat.php?cat=$1&page=$2 [QSA,L]