Initiation à l'URL Rewriting

Initiation à l'URL Rewriting

24 jan | Catégorie: PHP | Rédigé par François | 3318 lectures

A quoi sert l'URL Rewriting?

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:

  • Il contribue à un meilleur référencement, en effet, de nombreux moteurs de recherche donnent beaucoup d'importance au noms des fichiers. Il est donc important d'avoir un nom de fichier avec des mots-cléfs.
  • Ce procédé permet entre autre de sécuriser un peu mieux votre application web, dans le sens ou le nom de vos variables pourront maintenant être caché.

Comment ça fonctionne?

Voici une représentation simplifié du fonctionnement de l'Url Rewriting:

schéma d'explication de l'ur rewriting sous apache

  1. Le navigateur demande au serveur la page tuto-5.html
  2. Le serveur Apache associe tuto-5.html à la page index.php?idtuto=5
  3. La page index.php?idtuto=5 s'éxécute sur le serveur
  4. Apache renvoie enfin la page avec son nom d'origine (tuto-5.html)

Mise en place sur un site web

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:

Creative Commons License
Cette création par Snoupix.com est mise à disposition selon les termes de la licence Creative Commons.
Partager ce tutoriel :
wikio scoopeo fuzz diggfr digg-design blogmemes delicious tapemoi yoolink bluegger pioche

3 Commentaires

gravatar
le 18 avril à 10h19 John Répondre Merci beaucoup pour ce tutorial simple qui propose une première approche très clair de l'utilisation de l'url rewriting.

Encore merci!
gravatar
le 26 août à 16h39 creation web Répondre Bonjour,

Je cherche de la documentation complète sur l'url rewriting ou la réécriture d'url.
J'aimerai trouver un tutoriel complet afin de mettre en place un système fiable et complet. J'ai essayé diverses techniques sur mon site mais aucune ne remplie toutes les conditions pour un bon référencement google.
Donc si vous connaissez un livre, ou de la doc complète, je vous en serai reconnaissant.

Merci d'avance.
gravatar
le 26 août à 19h58 François Répondre Salut,
Si ca t'intéresse y'a la doc d'Apache qui fais ca:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Petit hic c'est en Anglais, mais à priori tout y est...

Requête en cours, veuillez patienter...

Ajouter un commentaire