Rewriting et variable dans l'url ... incompréhension

  • Auteur de la discussion Auteur de la discussion T2k
  • Date de début Date de début
Nouveau WRInaute
Bonjour

J'ai cherché un bon moment, tester une bonne 50aine de combinaisons, mais j'ai vraiment du mal avec les expressions ...

Mes url actuelle :
=> index.php?page=VAR1&format=VAR2&id=VAR3&cat=VAR4

je voudrais simplement réecrire mon url ainsi :
=> VAR1-VAR2-VAR3-VAR4

Ce que j'ai fais (en dernier mais essayé plein de combinaisons ....) :
=> RewriteRule ^([a-z]+)-([[:alnum:]]+)-([0-9]+)-([a-z]+)\.html$ /index.php?page=$1&format=$2&id=$3&cat=$4 [L]

Sachant que :
- var1 : lettre uniquement
- var2 : lettre ET chiffre
- var3 : chiffre uniquement
- var4 : lettre uniquement


Pour infos : le simple RewriteRule ^([a-z]+)\.html$ /index.php?page=$1 [L] fonctionne parfaitement (pour mes pages sans paramètres)

Merci pour votre aide, ca me rend fou cette histoire ! :cry:
 
WRInaute impliqué
Test sur les QUERY STRING => RewriteCond.

Code:
RewriteCond %{QUERY_STRING} ^page=(.*)&format=(.*)&id=(.*)&cat=(.*)
RewriteRule .* /%1-%2-%3-%4? [L]

Si tu veux une redirection complète, donc voir la nouvelle adresse dans la barre du navigateur, tu mets :
Code:
RewriteRule .* http://ton-domaine.tld/%1-%2-%3-%4? [L]

Le "?" sert à supprimer les paramètres lors de la redirection, si tu ne le fais pas, ça va faire une boucle infinie dans cette situation.
 
Nouveau WRInaute
okayyyyyy
je sais pourquoi ca bugait now, ma page avec paramètre contenait un underscore ... forcément si je passait uniquement des lettres, ca ne fonctionnait pas ... !

Merci bcp !
 
Discussions similaires
Haut