Configuration spécifique de mod_rewrite (internationalisation)

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

frontal1660
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Enregistré le: 19 Déc 2014

Configuration spécifique de mod_rewrite (internationalisation)

Message le Ven Déc 19, 2014 17:44

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: Tout sélectionner
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: Tout sélectionner
www.mysite.com/pagex.php

en

Code: Tout sélectionner
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: Tout sélectionner
www.apple.com/iphone

vous êtes redirigé vers

Code: Tout sélectionner
wwww.apple.com/fr/iphone (si votre navigateur est en francais)

Des idées ?

Merci d'avance.

Annonces Google

baud74
WRInaute impliqué
WRInaute impliqué
 
Messages: 623
Enregistré le: 21 Juil 2014

Re: Configuration spécifique de mod_rewrite (internationalisation)

Message le Ven Déc 19, 2014 17:50

quelque chose du genre :

RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^/([a-z]+\.php)$ http://www.monsite.com/fr/$1 [L,R=301]

frontal1660
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Enregistré le: 19 Déc 2014

Re: Configuration spécifique de mod_rewrite (internationalisation)

Message le Sam Déc 20, 2014 3:51

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: Tout sélectionner
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^/([0-9a-zA-Z]+\..*)$ http://www.monsite.com/fr/$1 [L,R=301]

Encore merci.


Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :