3 exemples de réécriture d’urls avec .htaccess

La réécriture d’URL, lorsqu’elle s’exécute sur une configuration Apache, passe par le fichier .htaccess. Si l’on entend souvent dire qu’il est pertinent de procéder à de la réécriture pour différentes raisons (domaine à rediriger, URLs de pages produits à modifier,…), la syntaxe à écrire n ‘est pas forcément évidente. Aussi je vous propose 3 exemples de réécritures d’URL qui permettront de mieux répondre aux besoins courants de chacun. Ces réécritures sont bien sûr à faire dans le fichier .htaccess.

Redirection d’un domaine sans le www vers un domaine en www : d’un point de utilisateur, cela ne change rien. D’un point de vue moteur, il est important d’indiquer quel est le vrai point d’entrée à crawler. Nous parlons ici de redirection 301 (déjà abordée dans d’anciens posts) :

RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsiteweb\.com$
RewriteRule (.*) http://www.monsiteweb.com/$1 [R=301,L]

Redirection d’une page produit.php?id=15 en produit-15.html : il s’agit là d’une simple redirection pour faire croire au moteur que l’url dynamique est statique, en camouflant le .php et en transformant le ? en élément statique (.html) :

RewriteEngine on
RewriteRule ^produit-([0-9]+)\.html$ produit.php?id=$1

Redirection d’une page produit.php?id=15 en produit/macbookpro/15.html : dans un souci d’optimisation, on choisira de faire apparaître le mot-clé dans l’url. Plus propre mais aussi plus parlant pour l’internaute, la procédure, pour cet exemple, est la suivante :

RewriteEngine on
RewriteRule ^produit/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ produit.php?id=$2

A lire aussi :

About ramenos

Nom complet : Arnaud Mangasaryan Pseudo : Ramenos Poste : SEO/SEM Leader Localisation : Montréal, QC
This entry was posted in Référencement. Bookmark the permalink.

One Response to 3 exemples de réécriture d’urls avec .htaccess

  1. Benjamin says:

    Petite erreur dans la 3ème règle de réécriture :

    produit.php?id=$2 <– paramètre n°2 et pas 5 ;-)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>