2017-07-10 2 views
0

Je travaille avec Laravel 5.4 et JS simple et jQuery pour y parvenir.Récupérer le pays via IP

J'ai un site web d'un petit groupe d'investissement actif en Belgique et en Hollande. Deux petits pays voisins. Ils ont quelques articles légaux sur le site Web qui diffèrent en Belgique et en Hollande. Lorsque vous naviguez vers le site Web, il y a une vérification JS pour déterminer si vous êtes en Hollande de Belgique.

$.getJSON("https://ipinfo.io", 
    function (data) { 
     $myLocation = data.country; 
    } 
); 

if ($myLocation == 'BE') { 
    window.location.href = $baseurl + '/BE'; 
} else if ($myLocation === 'NL') { 
    window.location.href = $baseurl + '/NL'; 
} 

Après je reçois le pays de ce site https://ipinfo.io je redirige simplement baseUrl + un paramètre specifiek au pays. La copie est simplement chargée via les paramètres régionaux et linguistiques standard de Laravel.

-

Le problème est, je l'ai testé cela avec un proxy (depuis que je suis en Belgique, non Hollande) pour voir si la redirection correcte est active et la copie correcte est chargée. Tout cela semble fonctionner, mais mon client (qui est actuellement en Hollande) continue d'être redirigé vers le mauvais endroit.

Merci pour toute contribution à ce sujet.

+0

Que tous les clients de Hollande sont redirigés vers '/ BE'? Ou peut-être que ce client est sur un proxy. –

+0

Bien sûr qu'il n'est pas sur un proxy. Il est redirigé vers/BE en Hollande sur iphone, windows tablette et macbook. Je ne peux que confirmer cela pour 1 utilisateur, je suis seulement en contact avec une personne de leur équipe qui travaille depuis la Hollande ... – nclsvh

+0

Essayez de changer * else if ($ myLocation === 'NL') {* to * else si ($ myLocation == 'NL') {* –

Répondre

0

Modifier la ligne:

else if ($myLocation === 'NL') { 

par ceci:

else if ($myLocation == 'NL') { 

Pour différence b/w '===' et '==', reportez-vous this

+0

bonne réponse merci. –