Aller au contenu

réécriture d'URL et passage de variable en GET


Sujets conseillés

Bonjour,

j'ai un petit soucis sur une application. J'ai un site qui est complètement rewrité afin de gérer le multilingue.

Voilà le format des adresses:

mondomaine.net/en/admin/prospectDelete.php?customerID=18

et la ligne correspondant au rewrite

RewriteRule ^([a-z]{2})/admin/([a-zA-Z]*).php$ /admin/$2.php?lang=$1 [L]

du coup mon customerID n'est pas récupéré. C'est normal ou pas? est ce que le rewriting annule la variable que je passe dans l'URL? Faut-il que j'améliore mes regles de réécriture?

Merci d'avance,

ZN

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Le query string est toujours laissé de côté lors de la réécriture. Il faut le traiter séparément.

Mais si tu veux simplement ajouter customerID=18 à la fin de ton URL réécrite, il te suffit d'ajouter le flag QSA (pour Query String Append)

Ta règle devient donc:

RewriteRule ^([a-z]{2})/admin/([a-zA-Z]*).php$ /admin/$2.php?lang=$1 [QSA,L]

Dan

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

bonjour,

j'ai un problème similaire,

J'ai une page qui va afficher une liste.

Je veux ajouter un critere de tri pour n en afficher qu une partie selon divers choix.

Je fait donc un formulaire en Get(je ne veux pas en post, je prefere que l utilisateur puisse garder les variables de tri dans l url pour ses bookmarks, ou sur google :) ) avec des champs de choix que je reprend ensuite dans mes requetes de BdD.. tout fonctionne bien la dessus...

Mon probleme viens du fait que lorsque je vais appliquer un rewrite, il me faudrai pouvoir recuperer les variables et les integrer.

Or malheureusement, quand j utilise mon formulaire il me fait :

Jeux-de-Roles/Campagnes-.html?tri_univers=3

Alors que je voudrais, comme indiqué dans mon htacess , utiliser une adresse du type:

Jeux-de-Roles/Campagnes-3.html

mon formulaire est du type:

(sachant que j ai simplifié ici mais j ai plusieurs champs selects et donc ne peut pas me passer de formulaire ( sinon j aurai fait une simple liste ;) )

form action="" method="GET">
<select name="tri_univers">
<option value="3">-test-</option>
</select>
</form

Mon rewrite est du type:

RewriteRule ^Jeux-de-Roles/Campagnes-([0-9]*).html$  /campagne.php?infos=campagnes&tri_univers=$1 [QSA,L]

une idée de mes erreurs ou d une bonne maniere de scripter ce que je veux ?

merci d avance des reponses

Lien vers le commentaire
Partager sur d’autres sites

Un formulaire enverra toujours une URL avec des variables dans le cas d'utilisation de la méthode GET.

Même dans le cas d'une méthode POST, il faudrait modifier la méthode en fonction du choix de l'utilisateur.

Ce n'est donc pas une question de réécriture, parce que cela se passe en amont.

je ne veux pas en post, je prefere que l utilisateur puisse garder les variables de tri dans l url pour ses bookmarks, ou sur google
OK pour l'utilisateur et ses bookmarks, mais tu crois vraiment que Googlebot va remplir tes formulaires ? :P

Dan

Lien vers le commentaire
Partager sur d’autres sites

merci pour la réponse qui m'évite de continuer a chercher partout une méthode sur mon formulaire :)

j'ai finalement fait ça totalement différemment avec des menus. déroulants

non google ne remplira pas les formulaires, mais si des visiteurs font des liens sur leur site/forum vers les versions triées c'est toujours ça en plus qui reviens sur les moteurs ensuite ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...