Bonjour,
Suite à l'apparition d'une nouvelle version du site, nous devons rediriger les pages rien de surprenant je vous l'accorde.
Le nouveau site a une url composée de la locale "fr" + l'url , soit :
www.monsite.com/fr/monurl
Tout ceci étant redirigé de façon transparente vers www.monsite.com/index.php , qui à partir de la prend le relai pour analyser l'url et dispatcher tout ça.
J'ai essayé la règle suivante :
Qui ne fonctionne pas. J'ai vérifié ma regex avec preg_match() de PHP, et l'url :
Code : Sélectionner tout - Visualiser dans une fenêtre à part RewriteRule ^index\.php\?c=ws&a=widget&id=([0-9]+)&sansliens=1&type=widget$ fr/index.php?c=widget&a=old_widget1&product_id=$1&nolink=1 [R=301,L]
index.php?c=ws&a=widget&id=1295&sansliens=1&type=widget match bel et bien le pattern donné dans la réécriture.
Donc le problème vient à mon avis du répertoire virtuel /fr/ , et du fait que le fichier /index.php existe déjà !
J'ai d'autres redirections, comme par exemple :
Et celle-ci fonctionne. C'est donc qu'il s'agit bien d'une histoire de fichiers existants déjà & de répertoire virtuels. Malheureusement mon analyse s'arrête la, même si je -crois- comprendre où est le problème, je suis incapable de le résoudre. Quelqu'un pourrait-il m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part RewriteRule ^avis-client(-(.*))?(-([a-z0-9]+)\.html)$ fr/$4/avis-client-$2.html [R=301,L]
Partager