Bonsoir,

J'essaye de rediriger automatiquement mes visiteurs selon la langue de leur navigateur sur la page http://subran.be vers http://subran.be/fr si francophone et http://subran.be/nl si néerlandophone (et plus tard j'ajouterais /en ).

J'ai testé ceci via un .htacces :


# The Friendly URLs part
# detect language when requesting the root (/)
RewriteCond %{HTTP:Accept-Language} !^(nl|fr) [NC]
RewriteRule ^$ nl/ [R=301,L]
RewriteRule ^$ fr/ [R=301,L]


Mais quoi que soit la langue de mon navigateur (je change la langue sous firefox), je suis toujours redirigé vers une page en français ( http://subran.be/fr )

Merci d'avance pour votre aide,

Suby
Modifié par subran (19 Sep 2011 - 01:32)
Résolu avec du PHP Smiley cligne


<?php
$lang = strtok($_SERVER['HTTP_ACCEPT_LANGUAGE'],",");
    while ($lang)
    {
         //check if the language is dutch
         if (strstr($lang,"nl"))
         {
              header ("location: ".$modx->makeUrl(25, '', '', 'full'));
              exit;
          }
          //check if the language is french
          if (strstr($lang,"fr"))
          {
              header ("location: ".$modx->makeUrl(24, '', '', 'full'));
              exit;
          }
        // etc..
                  
         $lang = strtok(",");
     }
      
     // no defined language found, go to the french pages
    header ("location: ".$modx->makeUrl(24, '', '', 'full'));
    exit;
?php>