Administration

Qu'est ce que l'URL-Rewriting?

Table des matières

Qu'est ce que l'URL-Rewriting?



Cet article présente le principe de la réécriture d'URL, appelée " URL Rewriting ".

A quoi sert l'URL Rewriting ?



L'URL Rewriting est une technique utilisée pour optimiser le référencement des sites dynamiques (75% des sites aujourd'hui, utilisant principalement le PHP et autres langages dynamiques).

Les pages dynamiques de votre site sont caractérisées par des URL (liens) complexes, donc difficilement lisible par les moteurs de recherches, comportant le plus souvent des caractères non identifiable par les robots (moteurs de recherches) tel que le point d'interrogation (?) ou encore le signe " & ".

Voici un exemple d'URL sans la réécriture : http://mon-site.fr/articles/articles.php?id=4&cat=0

Voici le même article avec l'URL Rewriting : http://mon-site.fr/articles/articles-0-4+url-rewriting.php

Dans cet exemple, le fichier .PHP est ici utilisé pour afficher un article dont le texte vient d'un site PHPBoost (c'est l'adresse du site où je rédige l'article que vous lisez en ce moment même). Ici cet article cherche à afficher l'article dont l'ID correspond à 4 et dont la catégorie est 0 (donc à la racine).

Le problème avec ce type d'URL, c'est que les moteurs de recherches ne cherchent pas à comprendre ce lien et donc ne l'indexe pas. C'est là qu'intervient l'URL Rewriting, il " transforme " les liens pour les rendre plus lisibles et compréhensibles, ainsi les moteurs de recherches pourront indexer vos pages dynamiques, donc en général plusieurs centaines/milliers de pages indexées.

Nous verront un peu plus bas comment l'installer sur votre site si ce n'est déjà fait.

Comment ça marche ?



Le principe est simple : sur un site qui utilise l'URL Rewriting, on ne peut plus se rendre compte qu'il est basé sur des pages dynamiques, en effet, les URL sont dits " propre ", c'est-à-dire que ces URL ne contiennent plus des caractères spéciaux comme " ? " et " & ". Donc personne ne peut savoir qu'il s'agit de pages dynamiques, que ce soit un moteur de recherche ou même un internaute, c'est-à-dire vous.

Le webmaster du site doit changer la façon dont il écrit les liens, selon des règles qu'il va fixer lui-même. En reprenant l'exemple au-dessus, on peut remarquer que les URL pour les pages d'articles ont toutes la même forme. On va donc devoir changer nos scripts PHP et nos liens à l'intérieur du site selon le modèle suivant : article_4_0.html

Quand un internaute demande cette page, le serveur va appliquer une règle de réécriture d'URL (qui aura été définie auparavant dans un fichier .htaccess) et renvoyer la même chose que si l'internaute avait demandé la page http://mon-site.fr/articles/articles.php?id=4&cat=0.

Vous savez quoi ? Et bien laisser tomber cette étape avec PHPBoost ! Et oui, aucune modification à faire dans le fichier .htaccess puisque PHPBoost définit déjà par défaut les règles de réécriture d'URL. Il vous suffit simplement de l'activer via votre administration. C'est ce que nous verrons dans le dernier chapitre.

Vérification de votre serveur



Avec PHPBoost, pour la mise en place, puisque tout est automatisé, il vous faudra simplement :
  • Un hébergeur qui permet l'utilisation de l'URL Rewriting


La première chose à faire est de s'assurer que le serveur qui héberge votre site permet d'utiliser la réécriture d'URL. Tout dépend, dans un premier temps, du type de serveur utilisé. L'objet de cet article n'est pas de passer en revue tous les types de serveurs mais, voici un résumé des possibilités de réécriture d'URL sur les serveurs web les plus courants :


Serveur Web

Support de la réécriture d'URL

Apache

Géré par le module mod_rewrite, un module standard d'Apache à partir de la version 1.3.27

IIS (Internet Information Service) Microsoft

En ASP (Active Server Pages): réécriture possible par des filtres ISAPI, commercialisés par diverses sociétés (payants).

En ASPX (.NET), sur tous les serveurs supportés : des fonctions sont disponibles comme RewriteURL, qui prennent en charge la réécriture d'URL.


Sachant que Apache est le serveur web le plus utilisé.

Si votre site est hébergé sur un serveur dédié, vous avez accès vous-même à la configuration du serveur. Dans le cas d'un serveur Apache, vous pouvez donc modifier le fichier de configuration afin d'activer le support de la réécriture d'URL. Pensez a redémarrer Apache après avoir modifié le fichier de configuration.

Mais ce n'est pas tout. Si votre site est hébergé sur un serveur mutualisé, il n'est pas garanti que votre hébergeur ait activé le support de la réécriture d'URL, principalement pour des raisons de sécurité.

Pour les hébergeurs gratuits, très peu ont cette option. Il est toujours conseillé d'investir dans un hébergement payant, les avantages sont nombreux et les coûts, sont aujourd'hui à porter de tous (à partir de 1€/mois pour certains dont les avantages sont réels).

Pour vérifier si le module mod_rewrite d'Apache est activé, il vous suffit de suivre les points suivants :

  • Créez un répertoire nommé test que vous placerez à la racine de votre site (il sera donc accessible via l'adresse http://www.votre-site.com/test/.
  • Dans ce répertoire, créez un fichier HTML nommé test.html (http://www.votre-site.com/test/test.html) contenant uniquement les lignes suivantes :

Code :
<html><head><title>Test</title></head><body>OK !</body></html>

  • Dans ce répertoire, créez un fichier nommé .htaccess contenant les lignes suivantes :

Code :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^inconnu\.html$  /test/test.html [L]

  • Transférez ce répertoire et ces deux fichiers sur votre site, puis rendez-vous à l'adresse http://www.votre-site.com/test/inconnu.html


Vous vous attendez sans doute à ce que le navigateur affiche un message d'erreur indiquant que le fichier nommé inconnu.html n'existe pas à cet endroit sur votre site (erreur 404). Si c'est le cas, alors votre hébergeur n'autorise sans doute pas la réécriture d'URL : contactez-le pour lui demander.

Sinon, vous devriez voir le texte « OK ! », ce qui signifie qu'en demandant à voir le fichier inconnu.html (qui n'existe pas physiquement sur le serveur), le serveur vous affiche le contenu du fichier test.html (qui existe bien). C'est le principe même de la réécriture d'URL et donc la preuve que votre serveur gère bien la réécriture d'URL. Il a « réécrit », dans notre cas, « inconnu.html » en « test.html ». CQFD ;) .

Il peut y avoir un troisième cas de figure (que nous ne vous souhaitons pas) : votre site est totalement bloqué, aucune page ne peut être affichée, vous avez un message indiquant « Erreur 500 ». Dans ce cas ne paniquez pas, il vous suffit de retirer le fichier .htaccess qui est incompatible avec votre hébergeur.

Activation sous PHPBoost



Nous allons installer l'URL Rewriting, maintenant que vous savez si votre hébergeur l'autorise (bien sur cette partie ne concerne que ceux dont la réécriture des URL marche).

Premièrement, dirigez vous dans le Panneau d'Administration de votre site, ensuite allez dans Configuration ==> Configuration avancée.

Voilà ce que vous voyez :



Il se peut aussi qu'il y aie marqué " Indéterminé " au lieu de " Oui " :



Cela peut aussi marcher. Donc ensuite il vous suffit simplement de cocher " activé " et de voir si tout se passe bien comme il y a écrit au-dessus (a priori oui).

Et bien voilà, vous venez d'achever une étape dans le long chemin du référencement.

source : 55 Escape

Cette page a été vue 2747 fois