2010-03-31 6 views
0

J'utilise le code suivant pour tentative de rediriger une URL dynamique vers une nouvelle URL dynamique, sous le même domaine:.htaccess redirection URL dynamique

RewriteRule ^products/item/^\d([^/]+) /product/$1/ [R=301,L] 

J'ai essayé ces derniers aussi:

RewriteRule ^products/item/[^\d]([^/]+) /product/$1/ [R=301,L] 
RewriteRule ^products/item/[0-9]([^/]+) /product/$1/ [R=301,L] 

Mais ce fut redirigeant /products/item/342/-/product/42/, j'ai testé cela sur un plus grand nombre (par exemple 123.456.789) et redirigés vers /product/23456789/.

Il semblerait que ma règle ne prenne pas le premier chiffre, quelqu'un peut-il m'aider à résoudre ce problème?

J'ai aussi essayé d'utiliser [\d] instalé de [0-9], mais cela a le même problème.

À la votre!

Répondre

3

Essayez

RewriteRule ^products/item/(\d[^/]+) /product/$1/ [R=301,L] 
+0

Genius! Cela a eu;), merci beaucoup pour votre réponse! –

+0

c'était le groupe dans l'expression rationnelle qui a causé le problème. $ 1 correspond à tout ce qui est entre parenthèses. – yogsototh

0
RewriteRule ^products/item/([0-9]+) /product/$1/ [R=301,L]