RewriteRule pour article.php? Id = 1 au nom de l’imprimante

Donc, nous avons récemment reçu un site Web d’un client qui était en train d’être développé sur mesure pour notre client et ils ont essentiellement des URL non-amicales “article.php? Id = 1″. J’essaie de les rendre SEO friendly et pendant que je crée la nouvelle URL je ne peux pas faire leur ancien redirect automatiquement à ce que je viens de créer.

J’ai essayé le suivant sans succès:

RewriteEngine On RewriteBase / RewriteRule ^articulo.php?id=1$ "xerox-phaser-3020bi" [NC,R=301,L] RewriteRule ^xerox-phaser-3260dni$ /articulo.php?id=2 [R=301,L] RewriteRule ^xerox-phaser-33dn$ articulo.php?id=3 [L] 

Comme vous le remarquez, je crée manuellement l’URL pour chaque produit (environ 38 seulement) et comme l’application n’imprime pas category.php? Name = nameofcategory & article.php? Id = 1, j’ai pensé que ce serait la meilleure façon de faire des URL conviviales.

Ce que je veux, c’est que lorsque quelqu’un clique sur notre site Web pour le produit /article.php?id=1, il soit dirigé vers l’URL conviviale telle que: / xerox-phaser-3260dni

Merci!

Modifier:

 RewriteEngine On RewriteCond %{QUERY_STRING} ^id=1$ RewriteRule ^articulo\.php$ /xerox-phaser-3260dni/? [R=301,L] 

Ce code redirige mais n’affiche pas la page lors de l’access à l’URL conviviale.

Votre méthode ne fonctionne pas car vos URL incluent des symboles comme ? . Vous devez utiliser {QUERY_STRING} .

Essayez ce qui suit:

 RewriteCond %{QUERY_STRING} article.php?id=1$ RewriteRule (.*) /xerox-phaser-3260dni/? [R=301,L] 

N’oubliez pas d’append un ? à la fin des URL redirigées car cela est nécessaire pour que la chaîne de requête n’apparaisse pas à la fin de l’URL.

Assurez-vous de vider le cache avant de le tester.