0

我有一个工作RewriteRule

RewriteRule ^category/?(.*)/([0-9]+)/([0-9]+)/([a-z]+)-([0-9]+)$ category.php?%{QUERY_STRING}&id=$2&paginate=$3&sort=$4&page=$5 [L]

处理后的URL如下所示:

www.mysite.com/category/hockey/10/18/recent-3

现在我希望我的URL看起来像:

www.mysite.com/category/hockey?id=10&paginate=18&sort=recent-3

我试过了:

RewriteRule ^category/?(.*)?id=([0-9]+)&paginate=([0-9]+)&sort=([a-z]+)-([0-9]+)$ category.php?%{QUERY_STRING}&id=$2&paginate=$3&sort=$4&page=$5 [L]

但我无法让它工作。

有任何想法吗?

4

1 回答 1

2

您无法匹配?. RewriteRule您必须%{QUERY_STRING}使用以下方法对变量和反向引用执行此操作%

RewriteCond %{QUERY_STRING} ^id=([0-9]+)&paginate=([0-9]+)&sort=([a-z]+)-([0-9]+)$
RewriteRule ^category/?(.*) category.php?id=%1&paginate=%2&sort=%3&page=%4 [L]
于 2012-09-12T06:01:53.283 回答