L'URL rewiting est la réécriture d'URL, c'est à dire d'adresse. Il s'agit d'une technique visant à modifier les adresses
d'un site web.
Par exemple l'adresse www.votresite.com/index.php?section=votresection&page=votrepage deviendrait www.votresite.com/votresection/votrepage.php
Il y a principalement 3 raisons pour mettre en place de la réécriture d'adresse:
L'URL rewriting est un module proposé sur les serveurs Apache. Pour savoir si ce module est activé, il suffit de faire appel
à la commande phpinfo(); et de chercher "mod_rewrite".
Si le module n'est pas activé, contactez l'administrateur de votre serveur pour qu'il l'active. Si vous êtes vous même
l'administrateur il vous suffit d'ouvrir le dossier Apache et d'éditer le fichier "httpd.conf". Dans ce fichier, enlevé
les "#" au début des lignes "LoadModule rewrite_module modules/mod_rewrite.so" et "AddModule mod_rewrite.c".
Pour cela, il faut créer un fichier .htaccess à mettre à la racine de votre site. Dans ce fichier, ajouter les lignes suivantes:
Ensuite, il faut écrire sur chaque ligne une règle de réécriture. Les règles s'écrivent de la manière suivante: RewriteRule nouvelle_adresse ancienne_adresse
nouvelle_adresse utilise les expression régulières.
Si dans nouvelle adresse vous mettez ^blabla-([0-9]+) cela désignera un page dont le nom commence par
blabla suivie d'un tiret et d'un nombre.
Chaque expression régulière utilisée dans nouvelle adresse doit correspondre à une variable (ou X est un entier)
dans ancienne adresse.
RewriteRule ^page-([0-9]+).html /page.php?numero=$1 renommera toutes vos pages du style /page.php?numero=XXX en /page-XXX.html (XXX étant un numéro).
RewriteRule ^page-([0-9]+)-([0-9]+).html /index.php?section=$1&page=$2 renommera toutes vos pages du style /index.php?section=XXX&page=YYY
en /page-XXX-YYY.html (XXX et YYY étant des numéros).
Pour en savoir plus sur les expressions régulières, je vous invite à consulter l'article suivant: expressions régulières. Si vous avez des difficultés, n'hésitez pas à demander de l'aide sur le forum création de sites web.