Bonjour tout le monde,

Je dois faire un site bilingue et je bloque sur un petit problème de redirection.

Pour le visiteur, les deux versions se trouvent respectivement dans deux répertoires différents :
http://www.monsite.com/fr
http://www.monsite.com/en

Comme le code source est unique, tous les fichiers sont en fait directement à la racine du site.

J'ai réussi facilement à simuler la redirection pour tous les scripts php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z-_/]+)/$ index.php?lan=$1&p=$2  [QSA,L]
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z-_/]+)$ index.php?lan=$1&p=$2  [QSA,L]
RewriteRule ^([0-9a-zA-Z]+)/$ index.php?lan=$1  [QSA,L]
RewriteRule ^([0-9a-zA-Z]+)$ index.php?lan=$1  [QSA,L]
Ainsi :
http://www.monsite.com/fr/contact/
est redirigé vers :
http://www.monsite.com/index.php?lan=fr&p=contact

Et tout fonctionne à priori correctement. Sauf que le basepath html étant http://www.monsite.com/fr/ ou http://www.monsite.com/en/, tous les fichiers css, images, js sont cherché dans les faux répertoire de langue et non à la racine et ne sont alors plus trouvés.

Comme ce serait trop long de définir des chemins absolus pour tous les fichiers, j'envisage deux solutions :
  • supprimer "en/" ou le "fr/" pour tous les fichiers avec extension

  • mettre tout dans le répertoire "fr" et redirigé le répertoire "en" vers "fr", en ajoutant un paramètre pour indiquer que c'est de l'anglais.


Mais voilà, je patauge depuis des heures, et je n'arrive pas du tout à le faire. Est-ce que quelqu'un a une idée ?

Merci en tout cas d'avoir pris le temps de lire ce message et peut-être d'y répondre.

Bonne journée,

Korbn