Mod Rewrite supprime les parameters de l’URL

Je perds les parameters URL lorsque je mod_rewrite, et je ne comprends pas pourquoi …

J’ai dû append un code de pays à l’URL, pour la localisation. Donc mon ancienne URL:

L’URL d’origine:

www.domain.com/mail_confirmation.php?id=222 

maintenant ressemble à

 www.domain.com/us/mail_confirmation.php?id=222 

Mod Rewrite devrait appeler:

 www.domain.com/mail_confirmation.php?id=222?country=us 

Et c’est la règle avec laquelle j’ai besoin d’aide. Il ne fait pas ce à quoi je m’attends et perd les parameters en cours de route:

 RewriteRule ^([a-zA-Z]{2})/(.+)\?(.+) $2?$3&country=$1 

Une autre règle qui pourrait affecter est celle-ci, au tout début du fichier:

 RewriteRule ^([a-zA-Z]{2})/?$ index.php?pais=$1 

Voyez-vous des erreurs ici? J’apprécierais votre aide!

Votre RewriteRule doit être

 RewriteRule ^([a-zA-Z]{2})/(.+)$ $2?country=$1 [QSA,L] 

Veuillez noter que les parameters d’URL ne sont pas disponibles pour la correspondance dans le RewriteRule . Si vous avez simplement besoin d’append un paramètre d’URL supplémentaire, vous pouvez le faire avec l’indicateur [QSA] , qui s’occuperait de vous append les parameters d’URL d’origine.