Probleme de redirection php

niko72 -  
 niko72 -
Bonjour,

Je viens vers vous car j'ai un petit souci:
j'ai un site en francais et en anglais mais avec deux noms de domaine différents,
j'ai donc voulu mettre en place une redirection comme ceci que j'ai placé sur la version fr:
<?php
$lang = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); 
if ($lang[0] != 'fr') 
     echo header("Location: urldemonsiteenanglais");
?>

et ce code fonctionne correctement sous firefox par contre sous ie je suis toujours redirigé vers la version anglaise alors que mon os est en francais, mon hebergement aussi ainsi que ie

A votre avis, ai-je commis une erreur dans mon code car la je ne vois pas,
merci en tou cas

6 réponses

Utilisateur anonyme
 
Salut salut,

Je crois avoir eu le même problème, essai de rajouter un :
die();

juste après le header('Location:...');
0
niko72
 
Merci pour le coup de main, j'ai testé mais cela ne fonctionne pas et du coup le site ne s'affiche plus sous ff.
0
Utilisateur anonyme
 
Ah merde, et sous IE tu as pas un erreur qui s'affiche au moment de la redirection?
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
tu devrais faire un print_r($lang); pour savoir ce qu'il y a dedans, tu y verras sans doute plus clair.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Bonjour

D'abord, il ne faut pas de 'echo' avant header, mais ce n'est pas la le principal problème.

Ajoute un
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
au début de ton script et tu verras que les différents navigateurs ne renvoient pas les langues acceptées sous la même forme. Certains commencent par fr, mais d'autres par fr-FR, etc...
À toi de faire un test un peu plus subtil
0
niko72
 
Merci pour vos réponse (au passage effectivement, merci, le echo n'a rien a faire la)
effectivement ca doit venir du fait que les navigateurs n'affiche pas tous la langue de la meme manière, je vais regarder ca en rajoutant d'autres formats de langues, merci a vous
0