J'ai essayé de multiples choses ici, en utilisant spécifiquement les API de Geoplugin.net. Je gère un petit magasin / site Web basé au Canada. J'essaie de rediriger un utilisateur de l'extérieur du Canada vers notre site international de magasin. Et si aux États-Unis, si vous allez sur le site américain uniquement. Le code est hébergé sur le site Web du Canada.
<?php
$a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?
ip='.$_SERVER['REMOTE_ADDR']));
$countrycode= $a['geoplugin_countryCode'];
if ($countrycode=='US')
header( 'Location: http://USASTORE.com' ) ;
else
header( 'Location: http://internationalstore.com' ) ;
?>
3 Réponses :
Essayez au lieu de p>
Je dirais que vous avez des problèmes avec il devrait être (pas d'espace ou une nouvelle ligne). P> <?php
$a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$countrycode = $a['geoplugin_countryCode'];
if ($countrycode == 'US'){
header( 'Location: http://USASTORE.com' );
}elseif ($countrycode == 'AU'){
header( 'Location: http://AUSTORE.com' );
}else{
header( 'Location: http://DEFAULTSTORE.com' );
}
?>
Malheureusement, cela ne semble toujours pas fonctionner. Je ne suis pas sûr de la question ici. J'apprécie l'aide cependant. php $ a = désériorize (fichiers_get_contents ('http://www.geoplugin.net/php. gp? IP ='. $ _ Server ["REMOTE_ADDR '])); $ CountryCode = $ A ['Geoplugin_CountryCode']; Si ($ CountryCode == 'US') {Header ('emplacement: http://usastore.com'); } elseIf ($ CountryCode == 'AU') {Header ('Emplacement: http://austore.com'); } else {en-tête ('emplacement: http://defaultstore.com'); }?> code>
Vous avez un espace entre .gp? IP code> doit être .gp? ip code>
Merci pour la réponse rapide, je pense que ce n'est que le formatage des commentaires. Je n'ai pas d'espace là-bas.
Êtes-vous sûr? Il montre un espace quand je copierais et coller. J'ai testé ce code à la fois sans IP et avec ma propre adresse IP et cela a fonctionné les deux fois. Faire un vidage var sur $ A code>
J'ai ajouté le code avec la variable IP. 100% pas d'espace et de code de travail car je viens de le retester.
Je suppose que c'est correct? Je m'excuse pour la confusion. Github.com/hostmanager1028/hostingtest/blob/master/index.phpleight/a >
Qu'est-ce que Var_Dump ($ a) retourne? Ce code fonctionne pour moi, je suis redirigé vers austore.com
C'est très étrange, je ne suis que de retour - string (5) "autre" -
Intéressant, cela fonctionne-t-il pour vous? wordpress.plustitime.com.au/untitled%205.php Que faites-vous revenir?
C'est si étrange, il revient correctement sur ce site. Pour une raison quelconque, je ne peux pas sembler avoir le mien pour travailler. Pourriez-vous me dire les résultats de dragonhelp.com Je l'héberge ici.
Je pense une erreur dans cette zone de sorte que vous premier var_dump ($ coundcode);
Ensuite, vous pouvez facilement trouver la solution. P> Merci. P> P>
Testez-vous cela à partir d'un serveur local ou en direct?