htaccess et retrait des variables get

  • Auteur de la discussion Auteur de la discussion gab1378
  • Date de début Date de début
WRInaute occasionnel
Les deux exemples sont différents
Pour des raisons de rapidité, il vaut mieux créer une règle par exemple
plutôt que quelque chose de générique

-------------- tuto -------------


RewrileRule ( les paranthèses c'est les variables dans l'ordre ou elle apparaissent
Première () va donner $1
Deuxième () va donner $2
Troisième () va donner $3

Le serveur/site web/oucms, lui au final, il ne sait travailler qu'avec www.monsite/?page_id=5&variable1=8&variable2=3

C'st la ou est le piege de l'urlrewritting, c'est que la redirection se fait non pas pour le visiteur, mais pour le serveur. Donc il faut penser à l'envers (ou en tant que serveur, pas client)
Le client, on lui affiche la belle URL www.monsite.fr/vehicules/concessions
Quand arrive cette belle url, vu du serveur, il ne la connait pas.
On va donc la transformer via le processus d'url rewitting en un truc immonde que le serveur/ le site lui saura traiter.

Une url est composée de plusieurs zones
Le protocole : http, https, ftp, ....
Le nom de domain : truc.xx
Le / les sous domain : www ....
La requête /bidule?
Les paramètres : c'est de la magie, il peut en avoir beaucoup, il sont repérés par = et le séparateur &


On peur faire simplement
RewriteRule ^belleurl.html$ trucserveurbidulecomplique.html [L]
>>>>
L’utilisateur voit dans son browser : belleurl.html
Le serveur comprend : trucserveurbidulecomplique.html
>>>>
tout le monde est content

Sur ce principe : pénible (mais fonctionne) d'écrire 500 règles de redirections
Au passage, il faudrait aussi parfois si on a un site de 50 pages, penser à écrire 50
règles de redirections en dur, c'est plus rapide et évite les embrouilles


On triture si besoin belleurl.html avec des expressions régulières à 85%
copiées collées et nom maitrisées

Comme expliquée, chaque() devient une variable
Pour des raisons historiques on a droit à 9 paramètres

Reprenons notre exemple :
RewriteRule ^b(e)lle(u)(r)l.html$ t$3$2cs$1$3v$1$2$3bid$2l$1compliqu$1.html [L]
>>> on a en premier entourée le e >>>>> $1 = e
>>> on a en deuxieme entouré le u >>>>> $2 = u
>>> on a en troisième entouré le r >>>>> $3 = r
>>> pour exemple, dans l'url réécrite pour le serveru, on a remplacé le e par $1, les u par $2, les r par $3
Au final on obtient la mème URL, on a transformé belleurl.html en trucserveurbidulecomplique.html


On teste facilement ici : https://htaccess.madewithlove.be/

...................
 
Discussions similaires
Haut