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.