CLIN
NOUS CONTACTER




L'url rewriting en php fichier de configuration .htaccess

14/02/2021
Article publié par Destiny

J'ai beaucoup galéré pour mettre en place le système d'URL rewriting sur le site de clincomputing je partage donc mon expérience avec vous.
L'url rewriting appelé en français réécriture de l'url est une technologie qui vise à rendre plus sexy les URLs par exemple pour afficher un article sur une page des articles qui possède l'identifiant 1 je doit faire article.php?id=1
et je peux le récupérer moyennant un système de GET en php pour l'afficher sur ma page ceci fonctionne très bien par contre c'est pas super jolie pour les internautes par exemple lorsque vous avez un système de partage des articles sur votre site quand quelqu'un partage un article est que ça arrive à l'internaute avec l'id dans l'url trop peu des gens sont ceux qui cliqueront sur l'article pour le visualiser car avec l'id c'est ne pas trop parlant. En revanche si l'article avait l'url qui ressemble à ceci: article/ceci-est-le-titre-de-mon-article-1
voilà vous l'aurez remarqué mais l'internaute lis déjà dans l'url l'article parle de quoi s'il est intéressé par l'article il pourra y Cliquer pour le visualiser car il connaît déjà le titre de l'article.
Pour c'est tutoriel nous ne parlerons pas comment faire pour afficher les articles avec un URL sexy comme je l'ai décrit ci-haut cela sera expliquer dans l'article suivant.
Voyons comment injecter les .php sur toutes les pages de votre site web.
Pour y arriver vous devez tout d'abord créer un fichier sans nom mais avec seulement l'extension.
Mais pardon un fichier sans nom ce quoi ?
Pas de panique un fichier sans nom c'est tout simplement un fichier de configuration Apache qui nous permet de configurer notre serveur.
Par exemple rediriger les internautes sur une page spécifique lorsqu'ils tombent sur une page qui n'existe plus sur votre site page 404,page 301, page 500 et consort.
Pour créer ce fichier vous devez le créer directement sur votre éditeur car si vous tentez de le créer depuis Windows il se peut que Windows ne permet pas de créer un fichier commencant par un point.
le fichier en question s'appelle .htaccess
avant d'écrire toute ligne à l'intérieur de ce fichier vous devez vous rassurer que le module qui s'appelle rewrite_module sous votre wamp est bien activé. Pour ce faire Cliquer sur l'icône de votre wamp chercher Apache puis Apache module chercher si rewrite_module est bien coché s'il ne le pas, cochez-le et redémarrer votre serveur pour se rassurer que le modifications ont été prises en compte.
Maintenant placez vous dans le fichier que vous avez créer le .htaccess et écrivez y cette ligne avant d'écrire quoi que ce soit à l'intérieur.

#permet de redémarrer le moteur de réécriture des URLs. 
RewriteEngine On

Note: sur le site de clincomputing j'ai les fichiers suivant: index.php,about.php,service.php,contact.php,realisations.php,articles.php,readarticles.php,login.php,register.php,info.php vous pouvez avoir le contraire de ces fichier mais la procédure reste la même.
Voilà le début du fichier.
#permet de redémarrer le moteur de réécriture des URLs. 
RewriteEngine On
#permet de rediriger les utilisateurs qui tentent d'accéder sur le site avec le http vers le https si votre site n'utilise pas encore le certificat SSL ne le faite pas ça n'a pas d'importance
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Options +FollowSymlinks

#permet d'empêcher aux visiteurs d'accéder sur ce ficher de configuration
<files .htaccess>

order allow,deny

deny from all

</files>
RewriteRule ^service/$ service.php
RewriteRule ^contact/$ contact.php
RewriteRule ^realisations/$ realisations.php
RewriteRule ^home/$ index.php
RewriteRule ^about/$ about.php
RewriteRule ^articles/$ articles.php
RewriteRule ^login/$ login.php
RewriteRule ^register/$ register.php
RewriteRule ^info/$ info.php
#permet de rediriger les utilisateurs vers la page 404 s'ils tombent sur un fichier qui n'existe plus.
ErrorDocument 404 http://clincomputing.com/404.php
RewriteRule ^404$ 404.php
AddHandler cgi-script .html .htm

Houla, le plus dur est déjà fait il ne vous reste plus qu'à remplacer partout où vous avez mis le fichier .php par le fichier qui doit s'afficher dans l'url
Pour moi index.php sera home/
articles.php sera articles/
service.php sera service/
about.php sera about/
Voilà
si vous utilisez un CMS comme WordPress il existe une façon de faire vos URLs sexy en utilisant un plagin plus simplement.
Et vous aurez à ce niveau des URLs sexy. Si vous avez des questions n'hésitez pas à me le dire dans les commentaires


Votre commentaire





Commentaires