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/

 


Page chargée en 0.002 sec.

Dernière Modification : Lun 18 Novembre 2024 17:04
Copyright © 1999-2024 Jean-Paul Molina Tous droits réservés.

 

vers Google