Modification d'une régle de réécriture avec redirection

Nouveau WRInaute
Bonjour,

J'ai des URL dynamique du type
http://www.monsite.fr/blog/blog.php?titre=titrearticle&ref=11
(11 étant une variable, en l'occurence la référence de l'article)

J'ai, depuis longtemps, créé un fichier htaccess pour réécrire mes URL sous la forme
http://www.monsite.fr/blog/titrearticle&art=11

Voici le code de mon htaccess actuel

Code:
RewriteEngine on
RewriteRule ^([-a-z0-9]+)&art=([0-9]+)$   /blog/blog.php?titre=$1&ref=$2 [L]

Tout ceci fonctionne très bien. Sauf que je souhaite modifier ma règle de réécriture pour faire disparaitre définitivement les "&" de mes url. Les nouvelles URL doivent donc être sous la forme:
http://www.monsite.fr/blog/titrearticle-11
Jusque là tout va bien. Je modifie la ligne de mon htaccess qui devient:

Code:
RewriteEngine on
RewriteRule ^([-a-z0-9]+)-([0-9]+)$   /blog/blog.php?titre=$1&ref=$2 [L]

Mon probléme est que j'ai des liens externes vers mes URL réécrites sur l'ancien modèle et que je ne souhaite pas perdre les visiteurs qui suivent ces liens. Je voudrais également que les moteurs de recherche comprennent que le lien entre mes anciennes réécritures et mes nouvelles. Et là je me tire les cheveux.
J'ai essayé de rajouter cette ligne mais ça ne fonctionne pas:

Code:
RedirectMatch 301 ^/([-a-z0-9]+)&art=([0-9]+)$   /blog/$1-$2

Merci pour votre aide précieuse.
 
Nouveau WRInaute
@loubet

Mille fois merci. ça fonctionne!

J'avais bien essayé quelque chose de ce genre mais sans le QSA à la fin et ça ne marchait pas.

Encore merci pour cette aide précieuse.
 
Discussions similaires
Haut