Activer la réécriture d’URL sous Apache2 avec mod_rewrite
Vous venez d’installer Apache et vous cherchez à configurer la réécriture d’URL ? Nous allons à partir d’une distribution Ubuntu voir les opérations nécessaires pour mettre en place ce système. Je supposerai donc que vous ayez installé Apache sur votre serveur.
La réécriture d’URL permet d’avoir des URL ‘propre’. Imaginez que vous ayez installé un CMS quelconque, un script ou que vous ayez programmé vous-même une ou plusieurs pages Web.
Dans la majorité des cas votre URL se présentera sous cette forme http://example.com/index.php?requete=110. La réécriture d’URL permet d’arriver à ceci : http://example.com/mon-article. Non seulement, c’est plus facile à lire et à retenir, mais aussi plus pratique pour se faire référencer.
Pour vérifier si mod_rewrite est activé, créez simplement un nouveau fichier avec l’extension php et saisissez le code suivant à l’intérieur qui nous permettra de connaître entre autre les modules d’apaches.
Une autre manière de vérifier si mod_rewrite est activé est de regarder si rewrite.load est présent dans le dossier /etc/apache2/mods-enabled
1 |
Placez ensuite ce fichier sur votre serveur et consultez-le à l’aide d’un navigateur Web.
Voici ce que vous devriez voir (allez à la section apache2handler)
Si vous apercevez mod_rewrite, alors vous n’avez pas besoin de l’activer, sinon il vous faut l’activer pour cela rien de plus simple :
1 | sudo a2enmod rewrite |
Votre système vous préviendra alors qu’il faut relancer apache :
1 2 3 4 5 | $ sudo a2enmod rewrite Enabling module rewrite. Run '/etc/init.d/apache2 restart' to activate new configuration! $ sudo '/etc/init.d/apache2 restart * Restarting web server apache2 [ OK ] |
Une fois apache redémarré vérifions si en rechargeant la page où nous avons nos informations sur php que le module rewrite soit présent dans la même section (apache2handler).
Si oui à vous les joies de la réécriture d’URL (et n’oubliez pas de supprimer le fichier que nous avons créer pour connaître les informations sur apache). N’oubliez pas qu’avant d’écrire vos règles vous devez précisez dans votre virtualhost AllowOverride All.
Plus d’informations sur mod_rewrite, la directive AllowOverride.
Si vous avez des questions ou problèmes n’hésitez pas à me contacter ou tout simplement aller sur le forum de votre distribution, car il se peut que quelqu’un d’autre à déjà eu le même problème que vous.



























Trackbacks & Pingbacks