RewriteCond%{QUERY_STRING}出现问题,反向引用未显示在最终到达网址中

时间:2010-04-24 08:51:00

标签: mod-rewrite backreference query-string

我的.htaccess文件中有以下内容:

RewriteCond %{QUERY_STRING} ^route\=product\/category\&path\=35\&page\=([0-9]+)$
RewriteRule ^index\.php$ http://%{HTTP_HOST}/product/category/35/page_$1? [R=301,L]

当我输入网址时,它的表现并不像预期的那样:

http://example.com/index.php?route=product/category&path=35&page=2

它被重写为:

http://example.com/product/category/35/page_

有人可以告诉我,我做错了吗?

谢谢,

eb_dev

1 个答案:

答案 0 :(得分:8)

要引用RewriteCond指令的子匹配,您需要使用%n代替$n

RewriteCond %{QUERY_STRING} ^route=product/category&path=35&page=([0-9]+)$
RewriteRule ^index\.php$ /product/category/35/page_%1? [R=301,L]