Un site Internet "www.monsite.com" hébergé par un serveur Web a un dossier racine. Ce dossier racine est un simple dossier comme tous ceux que vous voyez dans votre ordinateur.
Par défaut, lorsqu'un navigateur (Firefox, Internet Explorer...) demande au serveur Web le contenu de l'URL "http://www.monsite.com/dossier1/fichier1.html", ce dernier part de ce dossier racine, regarde s'il existe un fichier appelé "fichier1.html" à l'intérieur du sous-dossier "dossier1". S'il trouve ce fichier, il renvoie le contenu du fichier au navigateur.
Cette explication simpliste établit donc un lien direct entre une URL et un chemin de fichier traditionnel en informatique.
En réalité, les serveurs Web gèrent une étape supplémentaire qui permet de séparer (décorreler) l'URL que voit l'internaute et le chemin physique de la ressource associée. Cette étape supplémentaire s'appelle la réécriture d'URL (ou URL Rewriting an anglais)
L'URL Rewriting est donc un ensemble de règles choisies par un Webmaster pour transformer les URLs d'entrée avec d'autres valeurs.
Par exemple, on pourrait réécrire "http://www.monsite.com/belle-url/" en "http://www.monsite.com/dossier1/fichier1.html"
Contrairement aux redirections, l'URL Rewriting est donc complètement transparent pour l'internaute car l'URL de son navigateur ne change pas en apparence (/belle-url/).
L'URL Rewriting a au moins 3 avantages
Cependant, il faut noter que l'URL Rewriting est une technique assez sophistiquée et il faut certaines compétences informatiques pour s'y attaquer. En particulier il faut maitriser un minimum le concept d'expressions régulières. Il est toujours possible de copier/coller des exemples trouvés sur Internet mais il faut bien tester et le debuggage n'est pas toujours facile (il faut généralement passer par des fichiers de log)
La première chose à faire pour mettre en place l'URL Rewriting est d'installer un moteur de réécriture sur son serveur Web (s'il n'y est pas déja). Par exemple:
Une fois que votre moteur est installé, il faut écrire les règles de réécriture d'URLs. Celles-ci se mettent dans le fichier de configuration globale du site Web ou dans des sous-dossiers (.htaccess). Cet article pédagogique Yakaferci ne rentre pas dans ce niveau de détail, il faut consulter la documentation officielle du module ou trouver des tutoriaux sur Internet.