Comment installer l’url rewrite?

url rewriting dans la pratiqueDans cette partie de notre série sur l’url rewrite nous allons attaquer la pratique.

Si vous pensez avoir besoin d’explications supplémentaires sur l’url rewrite, comment fonctionne l’url rewrite? ou tout simplement suivre ce guide de l’utilisation de l’url rewrite depuis le début. Je vous invite à suivre ces liens.

Il existe plusieurs façons de réécrire des URL:

  • En utilisant le fichier .htaccess
  • En utilisant une base de données associée à un fichier php

Nous étudierons la pratique de l’url rewrite à partir du fichier « .htaccess ».
En effet une des fonctions permise par le fichier htaccess est la réécriture « à la volée » des URL.
C’est la méthode la plus répandue et celle qui demande le moins de préparation et la plus modulable à long terme.

alert

Avant de commencer faisons le point sur plusieurs choses :

  • Il est préférable si votre site est en ligne, de tester la mise en place de l’url rewrite sur une petite partie du site, où en période creuse car toute erreur peut rendre le site inaccessible.
  • Si par mégarde ,vous rencontrez une erreur, la solution la plus rapide et de supprimer le fichier  .htaccess du serveur ou l’écraser avec votre fichier initial qui ne possède pas de règle de réécriture.
  • Voici quelques  conseils :  garder une copie de votre fichier initial, travailler sur un fichier en local plutôt que directement sur le fichier en ligne afin de pouvoir faire marche arrière, toujours laisser ouvert le client FTP pour pouvoir enlever le fichier .htaccess rapidement au cas où cela ne fonctionne pas.


Afin d’utiliser l’url rewrite il est nécessaire d’activer le module de réécriture des URL.

Configurer l’url rewrite

Il se présente deux cas :

  • Vous aller utiliser l’url rewrite en local (serveur WampServer, EasyPHP, XAMPP etc…)
  • Vous aller utiliser l’url rewrite en ligne sur votre propre serveur ou sur un serveur mutualisé.

Configuration de l’url rewrite en local:

Pour permettre au plus grand nombre d’entre vous de suivre ces explications, je vais d’abord vous aider à paramétrer les éléments utiles à la réécriture d’url en local.
J’utilise personnellement  WampServer aussi, pour ceux qui utilisent un autre outil, je leur conseil de se renseigner sur la documentation de leur utilitaire ou d’aller télécharger WampServer.

Pour activer le module « rewrite_module » c’est très simple. Il suffit de lancer WampServer, de cliquer sur l’icone en forme de w en bas à droite sur votre barre de tâches  Windows, un menu de gestion apparaît. Allez dans le dossier « Apache » puis  « Apache modules » et faites défiler vers le bas l’arborescence de module à l’aide de la flèche jusqu’à voir « rewrite_module ». Si celui-ci possède un icone validé à coté ,c’est que le module est activé sur votre pc, dans le cas contraire cliquer dessus pour l’activer.

wamp_rewrite_module

Configuration de l’url rewrite en ligne:

Si vous utilisez un serveur mutualisé, voici quelques recommandations :
Votre serveur (hébergeur) doit autoriser l’utilisation du fichier .htaccess ainsi que la réécriture des adresses URL.
Afin de vérifier que la réécriture est activée, utilisez les méthodes de vérifications situées plus bas. Commencez par la méthode 1 : utilisation de phpinfo() . Dans le cas ou après vérification des deux méthodes, la réécriture ne fonctionne pas, vous ne pouvez pas utiliser l’url rewrite sur votre site web. Il vous faut alors vous renseigner auprès de votre hébergeur ou en changer pour un qui offre ce service.

Si vous gérez votre propre serveur dédié, assurez-vous que le module mod_rewrite est activé en modifiant le cas échéant le fichier de configuration du serveur Apache (httpd.conf).

Localisation : apache /ApacheXX/conf/ httpd.conf     (XX = n° de version)

Fichier httpd.conf

Il suffit de dé-commenter la ligne suivante puis de redémarrer Apache:
[sourcecode language=’html’]LoadModule rewrite_module modules/mod_rewrite[/sourcecode]

Tester le fonctionnement de l’url rewrite

Pour vérifier que la réécriture d’url est activée, nous allons voir plusieurs méthodes:

méthode 1 : utilisation de phpinfo():

Créez un fichier php simple, nommez le « info.php ». Puis copiez/collez y le code suivant:
[sourcecode language=’php’]
[/sourcecode]
Enregistrer le fichier dans un dossier créé sur votre serveur local (www pour WampServer).

Lancer le fichier dans votre navigateur et rechercher le bloc de texte suivant: « Loaded Modules ». Le module de réécriture d’url doit apparaître dans la liste des modules chargés.

mode rewrite activé

méthode 2 : utilisation de la page de test:

Créez un fichier html simple, nommez le « test.html ». Puis insérez un petit message afin d’avoir quelque chose d’affiché lorsque vous lancez le fichier dans le navigateur.
Sauvez votre fichier et placez le à la racine de votre site web, ou dans le dossier en local créé pour l’occasion.
Vous allez créer à présent le fichier .htaccess, afin de pouvoir l’enregistrer sans rencontrer de problèmes sous windows vous devez l’entourer de double quote: « .htaccess » .
Puis copiez/collez y le code suivant:
[sourcecode language=’html’]
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^accueil$ test.html [L]
[/sourcecode]
Sauvez votre fichier et placez le à la racine de votre site web, ou dans le dossier en local créé pour l’occasion.
Ce code sera expliqué plus tard dans le prochaine article.
Vous devez comprendre que nous essayons de remplacer « test.html » par « accueil ».
Vérifions que la réécriture a fonctionné!!
Pour cela vous devez entrer dans votre navigateur l’adresse suivante: www.votresite.fr/accueil où chemin local/accueil si vous testez en local.

alert
Pour les utilisateurs d’OVH: Vous devez renseigner un chemin absolu (par rapport à la racine de votre site).[sourcecode language=’html’]
RewriteRule ^accueil$ /test.html [L]

RewriteRule ^accueil$ /monsite/test.html [L][/sourcecode]

Si vous voyez apparaître le message de la page test.html, alors tout a fonctionné, vous avez réécrit votre première url. BRAVO!! :smile:. Vous êtes prêt pour utiliser l’url rewrite.
Dans le cas contraire vous êtes peut-être devant une erreur 404 ou 500.
Pour l’erreur 404 vérifier la bonne orthographe du nom de la page sur le fichier .htaccess
Pour l’erreur 500, il n’y a pas vraiment de solution, vous n’avez pas la possibilité d’activer vous même le mode rewrite. Cela est certainement du à votre hébergeur.

Dans la seconde partie je vais vous expliquer la nomenclature utilisée pour réécrire des url. Nous verrons aussi plusieurs cas pratiques.

Chalut

2 Responses to Comment installer l’url rewrite?

  1. L’URL Rewrite, j’ai toujours un peu de mal avec. J’essaye souvent de copier / coller des bouts de code et ensuite tester puis restester en trifouillant dessus. Difficile de faire mieux pour moi, et heureusement qu’il y a des sites qui proposent quelques bouts de codes !
     
    Au fait, je suis sous Firefox, et les commentaires ne vont pas à la ligne. Ils continuent « tout droit », et de fait, on ne voit plus e qu’on écrit. 😕

    • Traficat dit :

      Bonjour Clem,
      Effectivement l’url rewrite pose souvent des difficultés lorsqu’on découvre cette pratique, c’est la raison pour laquelle j’ai écrit cette série de tutoriels.
      On peut très vite s’améliorer car le principe pour construire une url reste le même.
      Dans le prochaine article je vais expliquer les principales commandes utiles pour l’url rewrite.
      Il y aura aussi quelques cas pratiques et pleins de bouts de code 😉 .

      Merci pour ta remarque sur le prolongement du texte sur une seule ligne, c’est à présent corrigé.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *