Проблема с RewriteCond% {QUERY_STRING}, обратная ссылка не отображается в конечном URL - PullRequest
4 голосов
/ 24 апреля 2010

В моем файле .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]

Однако при вводе URL-адреса он работает не так, как ожидалось:

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

Переписывается в:

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

Может кто-нибудь сказать мне, что я сделал не так, пожалуйста?

Спасибо

eb_dev

1 Ответ

8 голосов
/ 24 апреля 2010

Чтобы сослаться на подсовпадения директивы 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]
...