Page 1 sur 1

problème Url Rewriting et GET

Posté : 20 janv. 2009, 12:39
par juanito
bonjour

je sais pas si c'est ici que je dois parler de mon problème, donc si c'est pas ici veuillez m'en excuser.

j'ai mis en place dans mon fichier htaccess un RewriteEngine

règles suivantes

Code : Tout sélectionner

RewriteRule ^((fr|en|es)+)/([a-zA-Z_]+)/([a-zA-Z_]+).html$ main.php?lg=$1&cat=$2&scat=$3 [L] RewriteRule ^((fr|en|es)+)/([a-zA-Z_]+)/([0-9]+)/([a-zA-Z_]+).html$ main.php?lg=$1&cat=$2&page=$3&scat=$4 [L]
quand je tape cet Url : http://www.monsite.com/fr/categorie/1/s ... gorie.html
je n'arrive pas récupérer normalement les variable passe dans l'url.

donc pour tester je fais un print_r($_GET) pour voir quels sont les variables et j'ai comme résultat :

Code : Tout sélectionner

Array ( [lg] => fr [cat] => fr [page] => souscategorie [scat] => 1 )
je comprends pas pourquoi il ne récupère pas normalement les valeurs passé en GET

savez vous pourquoi il inverse les valeurs, il y a t'il un problème sur le htaccess ?

Merci d'avance

Posté : 20 janv. 2009, 13:09
par jojolapine
Bonjour,
essaye ceci:
RewriteRule ^((fr|en|es)+)/([a-zA-Z_]+)/([0-9]+)/([a-zA-Z_]+).html$ main.php?lg=$1&cat=$3&page=$4&scat=$5 [L]
en fait pour la langue tu as deux parenthèses capturantes, du coup il faut passer directement à $3...
Pas sur que ça résolve tout mais bon ;)

Posté : 20 janv. 2009, 14:55
par juanito
yep merci, ca marche, en fait je commence a $2

Code : Tout sélectionner

RewriteRule ^((fr|en|es)+)/([a-zA-Z_]+)/([0-9]+)/([a-zA-Z_]+).html$ main.php?lg=$2&cat=$3&page=$4&scat=$5 [L]
mais y'a t'il une solution dans la mise en forme de la RewriteRule pour éviter de commencer a $2

Posté : 20 janv. 2009, 14:57
par jojolapine
Je ne vois pas trop l'interet...?
mais tu peux enlever ta première parenthès tout simplement vu qu'elle ne sert à rien...