2010-04-24 8 views
4

je suit dans mon fichier .htaccess:problème avec RewriteCond% {QUERY_STRING}, backreference pas dispaying dans l'URL finale

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] 

Cela ne se comporte comme prévu que, quand je rentre dans l'URL:

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

Il est réécrite à:

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

quelqu'un pourrait-il me dire ce que je l'ai fait mal s'il vous plaît?

Merci,

eb_dev

Répondre

8

Pour faire référence à une directive de sous-correspondances RewriteCond, vous devez utiliser %n au lieu de $n:

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

merci Gumbo! votre légende! –