htaccess : Masquer des paramêtres dans la barre d'adresse

 

Supposons que vous soyez un grossiste et que vous ayez un script catalogue.php qui donnera une page dans laquelle le client pourra choisir (par exemple) tv ou hifi ou photo, et que, par conséquent, vous deviez écrire les liens suivants :
     catalogue.php?param=tv ou
     catalogue.php?param=hifi ou
     catalogue.php?param=photo

On utilise le module mod_rewrite d'Apache : il permet de réécrire une URL entrante en fonction de conditions exprimées dans le fichier htaccess.
Vous pouvez masquer ces paramêtres en créant des répertoires fictifs en plaçant dans votre fichier htaccess :
     RewriteEngine on
     RewriteCond %{REQUEST_FILENAME} -d
     RewriteRule ^.*$ - [L]
     RewriteRule ^([^/]+)/$ catalogue.php?param=$1 [L]

avec
REQUEST_FILENAME représente le chemin réel sur le serveur.
-d is directory
L retourne au début de la règle avec l'URL courante (Last)
$1 permet d'accéder à ce qui a été défini à l'intérieur du groupe de parenthèses dans RewriteRule
(9 possibilités maxi : $1 ... $9 )

Ce qui fait que, par exemple, ce bout de code :
<a href='catalogue.php?param=photo'>PHOTO</a>
provoquera, aprés clic, l'affichage suivant dans la barre d'adresses : http://www.lesite.com/photo/

 


Si vous aimez le site
Member of the Anti Hacker Alliance

Select a language if you need :


Page chargée en 0.001 sec.

Dernière Modification : Dim 28 Avril 2019 12:45
Copyright © 1999-2019 Jean-Paul Molina Tous droits réservés.

vers Google