Configuration spécifique de mod_rewrite (internationalisation)

Nouveau WRInaute
Bonjour,
Je pense que ce sujet a déjà été couvert plusieurs fois mais je n'arrive pas à trouver une config satisfaisante. C'est pas faute d'avoir cherché.

J'utilise actuellement ces règles sous Apache 2.2 afin de rediriger correctement mes utilisateurs en fonction de la langue de leur navigateur.

Code:
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^/$ http://www.monsite.com/en/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^/$ http://www.monsite.com/fr/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^/$ http://www.monsite.com/es/ [L,R=301]
Ces règles fonctionnent bien mais j'aimerais les modifier afin de pouvoir réécrire :

Code:
www.mysite.com/pagex.php
en

Code:
www.mysite.com/LANGUAGE-X/pagex.php
Bien entendu, LANGUAGE-X représente le sous répertoire (fr, en, es) correspondant à la langue du navigateur.

Avec ma config, j'obtiens une erreur 404.

Apple fait ca. Quand vous entrez

Code:
www.apple.com/iphone
vous êtes redirigé vers

Code:
wwww.apple.com/fr/iphone (si votre navigateur est en francais)
Des idées ?

Merci d'avance.
 
Nouveau WRInaute
Merci beaucoup pour ta réponse rapide et efficace.

Pour info, j'ai juste modifié quelques petites choses, en partant de ta réponse.

Code:
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^/([0-9a-zA-Z]+\..*)$ http://www.monsite.com/fr/$1 [L,R=301]
Encore merci.
 
Discussions similaires
Haut