Lorsque vous modifiez un site en profondeur, si vous ne voulez pas perdre une partie de votre référencement, il est préférable de bien gérer les redirections.

Je me suis retrouvé devant un petit problème à résoudre : rediriger une url avec un paramètre vers une autre url en conservant ce paramètre.

Pa si simple que ça en a l’air, vous allez le voir.

Redirection avec paramètre

Donc, l’ancienne url est de la forme : http://www.monsite.com/ma-page.php?arg=12

La nouvelle url est de la forme : http://www.monsite.com/ma-nouvelle-page-12.htm

Et voici la solution pour résoudre ce cas particulier :

RewriteEngine on

RewriteCond %{QUERY_STRING} ^arg=([0-9]+)$
RewriteRule ^ma-page.php /ma-nouvelle-page-%1.htm? [R=301,L]

Et voilà.

Donc, si cela fait des heures que vous cherchez, n’hésitez pas à laisser un petit commentaire 😉

Redirection 301 / 302

Au passage, connaissez-vous la différence entre une redirection 301 et 302 ?

La redirection 301 est utilisée lorsque la ressource a définitivement changé d’url. Vous changez de nom de domaine et ne comptez pas revenir à l’ancien, c’est une redirection 301 qu’il faut utiliser.

La redirection 302 est une redirection temporaire. Par exemple, lorsque vous placez un site en travaux.

301 / 302 est également le titre d’un film, mais là, je m’égard…