
L'URL Rewriting est un processus qui permet de réécrire des URL, autrement dit il permet à votre serveur web d'envoyer des pages web dont les noms de fichiers ont été renommés. Utilisés dans la plupart des sites web dynamiques, il sert pour deux principales raisons:
Voici une représentation simplifié du fonctionnement de l'Url Rewriting:

Tout se passe dans un fichier qui se nomme ".htaccess" et qui se trouve généralement à la racine de votre site internet. Ce fichier est interprété par Apache (dans ce tutorial je ne traiterais que du serveur Apache car c'est le seul que je connais et surtout le plus utilisé).
Avant de commencer, il faut vérifier si votre serveur est configuré de manière à accepter la redirection d'URL. Si vous êtes sur un serveur mutualisé, vous ne devriez pas avoir de problèmes, il doit être déjà activé par défault. Pour les autres, vous devez aller dans le fichier "apache/conf/httpd.conf" et vérifier que ces lignes sont bien activées (C'est à dire pas de "#" devant la ligne).
Une fois cette étape effectuée, les choses intéressantes commencent: créez votre fichier .htaccess à la racine de votre site avec ces 2 lignes.
Pour notre exemple, créez une page HTML de test et nommez la "exemple.html" en la placant dans le même répertoire que celui de votre fichier ".htaccess" (c'est à dire à la racine de votre site, si vous avez tout suivi).
La commande qui permet la réécriture d'URL est à placer dans votre fichier ".htaccess":
A noter que je préfère utiliser l'extension .html plutôt que .php, même si au niveau du référencement, cela ne change pas grand chose, la logique voudrait qu'on utilise l'extension .html car il s'agit au final d'un fichier HTML. Maintenant à vous de jouer:
Ainsi dans votre navigateur, si vous demandez la page "test.html", le serveur vous renverra la page "exemple.html". Vous aurez aussi sans doute remarqué le caractère "^" avant "test.html", il permet d'indiquer le début de la chaine de caractère, si vous l'enlevez vous pourriez accéder à la page "exemple.html" même si vous souhaitez accéder à la page "un-super-test.html".
Bien entendu, la puissance de l'URL Rewriting ne se résume pas à une réécriture basique et linéaire. Voici une utilisation un peu plus poussée et qui est d'ailleurs utilisée pour cette page:
Ici le bloc entre parenthèses (supposé être composé de un ou plusieurs chiffres) est considéré comme une variable. Cette variable est ensuite réutilisée dans l'url de droite via "$1". Pourquoi "$1"? Tout simplement parcequ'il s'agit du premier bloc entre parenthèses rencontré, donc la première variable. la chaine "[L]" permet d'indiquer au serveur d'ignorer les autres commandes si il trouve la redirection appropriée.
Voilà, je pense que vous connaissez les bases pour mettre en place ce système pour un petit site web. Pour plus d'informations, je vous conseille d'aller faire un tour sur ces 2 sites web:
Encore merci!