URL rewriting qui fonctionne en dev mais pas en prod (même Apache)
Bonjour,
J'ai cherché sur le forum et essayé certaines solutions proposées pour mon problème, mais ça ne fonctionne pas comme je le souhaite.
Voici donc ce que je souhaiterais avoir :
Code:
1 2 3 4 5
| http://www.monsite.fr ==> http://www.monsite.fr (transformé automatiquement par mon serveur en http://www.monsite.fr/)
http://www.monsite.fr/ ==> http://www.monsite.fr/
http://www.monsite.fr/de ==> http://www.monsite.fr/?lang=de
http://www.monsite.fr/de/ ==> http://www.monsite.fr/?lang=de
http://www.monsite.fr/de/?param1=ceci¶m2=cela ==> http://www.monsite.fr/?param1=ceci¶m2=cela&lang=de |
J'ai mis :
Code:
1 2 3
| RewriteRule ^(de|en|es|fr|it)/([=?0-9a-zA-Z-_]+)$ $2&lang=$1 [QSA,L]
RewriteRule ^(de|en|es|fr|it)/$ ?lang=$1 [QSA,L]
RewriteRule ^(de|en|es|fr|it)$ ?lang=$1 [QSA,L] |
Ca fonctionne bien pour le fichier index.php, qui est à la racine de mon site et qui prend bien en compte le paramètre lang=$1.
La dernière réécriture fonctionne aussi pour tout le site.
Par contre, les deux premières posent problème.
Mon fichier index.php contient des include d'autres fichiers, et l'url rewriting conserve "de/" pour les fichiers include. Le lien des fichiers include reste http://www.monsite.fr/de/ au lieu d'être transformé en http://www.monsite.fr/.