Vous êtes ici : Accueil » Articles » Le point sur l’URL Rewriting

Le point sur l’URL Rewriting

Même si beaucoup d’articles, de tutoriaux et de  cours sont déjà consacrés à ce sujet sur internet,  je vais tout de même dans cet article synthétiser les différentes techniques de réécriture d’URL que j’ai pu découvrir. Quand je parle d’URL Rewriting (ou réécriture d’URL) , il faut entendre un changement d’URL du côté serveur commandé par un fichier .htaccess. Le fichier .htaccess est parfois limité chez certains hébergeurs. Si toutefois, on désire absolument améliorer ses URL, des solutions alternatives existent.

Avantages de l’URL Rewriting

  • Joue sur le référencement;
  • Sécurise la page en cachant les variables $_GET;
  • Fournit des indications au visiteur et au crawlers (les bots des moteurs de recherche);
  • Facilite la mémorisation pour le visiteur;
  • Augmente l’esthétique en général;
  • Ça fait cool.

Pour toutes ces raisons, il devient important de réécrire l’URL de vos pages.

Les techniques d’URL Rewriting

1) Le fichier .htaccess

Si votre hébergeur le permet, c’est la solution à choisir. Le changement d’URL se commande via le fichier .htaccess placé à la racine du site. Grâce à ces quelques lignes de code serveur, une redirection permettra d’afficher la page en tapant l’adresse voulue. Je reprends l’exemple du dessus :

Fichier .htaccess :

1
2
RewriteEngine On
RewriteRule ^contact\.html$ /index.php?page=contact [L]

Le visiteur qui saisira contact.html dans la barre d’URL affichera en fait la page index.php avec la variable page dont la valeur est contact. Je ne vais pas m’étendre là dessus, la documentation de qualité ne manquant pas. Voici quelques liens utiles.

2) L’URL Rewriting sans le mod_rewrite…

a) …avec le Multiviews d’Apache

Le MultiViews est activé par défaut chez Free et permet d’accéder à un fichier sans donner son extension.

1
http://www.domaine.com/article.php?id=123

équivaut à

1
http://www.domaine.com/article?id=123

Maintenant, on souhaite éviter le point d’interrogation dans l’URL. Il est possible d’ajouter un slash derrière le nom du fichier (article) de cette manière.

1
http://www.domaine.com/article/123

Ensuite, dans le fichier article.php, vous pouvez récupérer ce qu’il y a après le slash (ici, l’id de l’article à afficher, soit 123) grâce à la variable d’environnement $_SERVER['PATH_INFO']. Vous avez donc la possibilité d’afficher n’importe quel article depuis la base de données.

Un lien qui explique plutôt bien (mieux que moi) :

b) …avec l’erreur 404

C’est la technique d’URL Rewriting que j’utilise depuis peu. Elle a l’avantage de se rapprocher un maximum du vrai URL Rewriting.

Attention : J’ai eu pas mal de problèmes avec les headers HTTP et les flux RSS ainsi que l’administration de wordpress. Utilisez cela avec prudence.

Cela se base sur l’erreur 404. L’URL suivante va générer un code 404 qui indique au serveur de balancer une désagréable page ’404 – Not Found’.

1
http://blogdethee.free.fr/2009/08/le-point-sur-lurl-rewriting/

En effet, les dossiers 2009 et 08 n’existent pas. Bref cela nous amène à une page 404. L’astuce, c’est d’utiliser un fichier .htaccess avec ce code :

1
ErrorDocument 404 /index.php

Ceci génèrera une redirection vers le fichier index.php pour toutes les erreurs 404 rencontrées. Ainsi, dans le fichier index.php, il suffit de récupérer l’URL et de la traiter comme dans les autres astuces afin d’afficher l’article correspondant aux infos qui y sont fournies.

Le problème maintenant, c’est que toutes les pages sont considérées comme des erreurs 404, ce qui est néfaste pour le référencement. On va donc « tromper » les bots des moteurs de recherche pour qu’il considère nos pages comme correctes en ajoutant ce code tout au début du fichier index.php :

1
<?php header('HTTP/1.1 200 OK', true, 200); header("Status:200 OK"); ?>

Ceci permet de modifier le code renvoyé de 404 à 200, ce qui revient à dire que la requête s’est bien effectué, tout est OK. Voila, plus de problème pour le référencement maintenant.

Si vous voulez appliquer cela à WordPress :

Conclusion

Je n’ai pas pour but de détailler chaque méthode par manque de connaissances et de temps. Toutefois, j’espère que cette petite liste pourra servir. Dans mon immense bonté, pour vous éviter une fastidieuse recherche sur nos biens-aimés moteurs de recherche, j’ai mis des liens vers différents articles. Je compléterais cet article au fur et à mesure de mes trouvailles, et j’améliorerais mes explications. Si quelque chose ne vous paraît pas clair, n’hésitez pas à poser une question dans les commentaires (j’ai conscience de la médiocrité de mes explications…). Vous pouvez aussi émettre des critiques constructives ça peut m’aider pour la suite.

Tags : , , ,

Les commentaires sont fermés !