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 : Sélectionner tout - Visualiser dans une fenêtre à part
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&param2=cela ==> http://www.monsite.fr/?param1=ceci&param2=cela&lang=de
J'ai mis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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/.