问题
I have the following in my .htaccess file:
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]
It's not behaving as expected though, when I enter the URL:
http://example.com/index.php?route=product/category&path=35&page=2
It gets rewritten to:
http://example.com/product/category/35/page_
Could someone tell me what I have done wrong please?
Thanks,
eb_dev
回答1:
To reference submatches of a RewriteCond
directive, you need to use %n
instead of $n
:
RewriteCond %{QUERY_STRING} ^route=product/category&path=35&page=([0-9]+)$
RewriteRule ^index\.php$ /product/category/35/page_%1? [R=301,L]
来源:https://stackoverflow.com/questions/2703821/problem-with-rewritecond-query-string-backreference-not-dispaying-in-final-u