Réécriture d'URL pour votre site web (Apache)
La réécriture d’URL est une technique qui permet changer la syntaxe des URL de son site. Les avantages sont: un meilleur référencement, une lisibilité pour les visiteurs.
Apache dispose d’un module (chargé par défaut, mod_rewrite) qui permet de faire cette réécriture. On configure la réécriture dans un fichier .htaccess qu’on positionne généralement à la racine du site. Pour chaque type d’URL que l’on veut réécrire il faut créer une règle.
Le fichier .htaccess doit commencer par la ligne:
RewriteEngine on
Ensuite la syntaxe des règles est décrite comme suit:

Exemple 1
Nous voulons que notre page http://www.monsite.fr/index.php soit disponible sous l’URL http://www.monsiyte.fr/accueil.html
Solution, contenu du .htaccess:
RewriteEngine on
RewriteRule ^accueil.html$ /index.php [L]
Le ^ indique le début du pattern, le $ la fin du pattern. Le drapeau [L] indique la fin du traitement des règles si cette règle correspond.
Exemple 2
Je souhaite que mon URL http://www.monsite.fr/index.php?page=mapage soit disponible sous l’URL http://www.monsite.fr/mapage.html . (« mapage » correspond à une chaine de caractère qui correspond à une des pages de mon site)
Solution, contenu du .htaccess:
RewriteEngine on
RewriteRule ^([a-z-]+).html$ /index.php?page=$1 [L]
Cette partie « ([a-z-]+) » est une expression régulière qui correspond à une chaine de caractère. Elle permet de correspondre au nom d’une de mes pages. Le mot « $1 » est l’endroit dans l’URL ou sera envoyé notre première expression régulière (« ([a-z-]+) »).
Pour plus de détails: http://httpd.apache.org/docs/current/fr/rewrite/intro.html