J'ai récemment découvert la puissance du module mod_rewrite et j'ai besoin d'aide.mod_rewrite: réglage GET en fonction de HTTP_HOST
que j'ai un site Web qui a deux noms de domaine mapping vers le même hôte ...
example.com
example.net
Et je voudrais définir une var GET en fonction du HTTP_HOST du (c.-à-.com ou .net ?) ...
/index.php?lang=en
/index.php?lang=es
Cependant, la mise en garde est-ce .. J'ai déjà 3 RewriteRules ...
RewriteRule ^(about|contact)/?$ /index.php?page=$1 [NC]
...
..
Et si je devaient suivre l'exemple sur here (bas de RewriteCond) Je devrais copier les 3 RewriteRules pour chaque HTTP_HOST (c.-à-d. .com ou .net) et ajouter la variable GET statiquement comme; & lang = fr OU & lang = es et la fin de chaque règle ...
Est-il possible de le faire automatiquement, sans avoir à copier les 3 règles tout recommencer qui ne diffèrent que par un seul get var au fin?
PS. Je sais que cela peut être fait à travers le langage de script, mais je me demandais si cela pouvait se faire via mod_rewrite, et comment.
merci!
Je vais vérifier que le drapeau QSA .. semble prometteur. –
Alors que le code submtité a été d'une grande aide, il est inutile en soi. Il vous restera une récursion infinie, puisque apache continuera à rediriger chaque page vers? Lang = en | es même si cela a déjà été défini. Donc ajoutez la ligne suivante avant: RewriteCond% {QUERY_STRING}! (Lang = (en | es)) cela ne redirigera pas vers? lang = en | es s'il a déjà été défini;) –
Il ne devrait pas y avoir de récursion infinie à moins que vous ne redémarriez le processus de réécriture de règles plus tard. D'après votre question, je croyais que vous ne faisiez pas cela. –