Redirection .cfm vers prestashop

Nouveau WRInaute
Bonjour,

J'essaye de rediriger des pages en .cfm vers des pages prestashop mais je coince :o(

Voici les 2 urls :
ancienne : http://www.example.com/1234567-xxxx-xxxx-xxxx-xxxxx,fr,x,xxxxxx.cfm (1234567 = chiffre longueur 7, x = caractère ou numérique)
nouvelle : http://www.example.com/1234567-xxxx-xxxx-xxxx-xxxxx.html (la partie xxxx-... est celle avant le ,fr, de l'ancienne)

Voici ce que j'ai fais et qui ne fonctionne pas :
RewriteRule ^([0-9]+)-([a-zA-Z0-9-]+),(.*)\.cfm$ $1-$2.html [L,R=301]

Merci pour votre aide :o))
 
Nouveau WRInaute
J'ai corrigé ainsi et cela fonctionne :
RewriteCond %{HTTP_HOST} ^xxx.com$
RewriteRule ^([0-9]+)([a-zA-Z0-9-]*),(.*)\.cfm$ %{ENV:REWRITEBASE}$1$2.html [L,R=301]

En revanche, j'ai une autre redirection qui plante pour /yyyyy,fr,5,1234.cfm vers /m1234-yyyyy.html
J'ai mis : RewriteRule ^([a-zA-Z0-9-]*),(.*),([0-9]+)\.cfm$ m$3-$1.html
Cela me renvoie uniquement /yyyyy.html

Une idée ?
 
Nouveau WRInaute
J'ai testé différentes options mais cela ne marche pas.
J'ai l'impression qu'il n'aime pas le m$3.
Y a t-il une autre façon de faire pour concaténer une chaine de caractère avec une variable ?
 
WRInaute discret
agslk a dit:
J'ai testé différentes options mais cela ne marche pas.
J'ai l'impression qu'il n'aime pas le m$3.
Y a t-il une autre façon de faire pour concaténer une chaine de caractère avec une variable ?

Normalement ça ne doit poser aucun problème.
Je pense plutôt qu'il y a une mauvaise interprétation de ta règle.
En effet, comme l'a dit Marie-Aude, tu es trop large pour certaines parties.

Essaye ceci:
Code:
RewriteRule   ^([a-zA-Z0-9\-]+),[a-z]{2},[0-9],([0-9]+).cfm$   m$2-$1.html [R=301,L]
 
Nouveau WRInaute
Merci, c'est bien cela qui fonctionnait pas bien.
Je l'ai écrit ainsi et c'est ok : RewriteRule ^([a-zA-Z0-9-]*),fr,5,(.*)\.cfm$ m$2-$1.html [L,R=301]
 
Discussions similaires
Haut