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

 

Select a language if you need :


Page chargée en 0.025 sec.

Dernière Modification : Mer 25 Janvier 2017 8:56
Copyright © 1999-2017 Jean-Paul Molina Tous droits réservés.

to Google