2012-04-10 5 views
0

ich für eine Woche wurden nun daran gearbeitet und habe es mit meiner .htaccess-Datei versucht, aber auch dies nicht im Grunde nicht funktioniert in firefox seinen sagen ...Maxminds GeoIP php nach Redirect auf Ländercode

Die Seite leitet nicht richtig um. Firefox hat festgestellt, dass der Server die Anfrage für diese Adresse so umleitet, dass niemals abgeschlossen wird. Dieses Problem kann manchmal dadurch verursacht werden, dass Cookies deaktiviert oder verweigert werden. seine

und in Chrom sagen .....

Diese Webseite weist eine Weiterleitung Die Webseite unter https://www.website.com/row/index.php in zu viele Umleitungen geführt hat. Das Löschen der Cookies für diese Website oder das Zulassen von Cookies von Drittanbietern kann das Problem beheben. Wenn nicht, ist es möglicherweise ein Server Konfigurationsproblem und kein Problem mit Ihrem Computer.

hochgeladen ich die GeoIP.dat und geoip.inc Dateien aus der GeoIP PHP API von Maxminds Website in ein Verzeichnis auf meinem Hosting dann bearbeiten ich meine index.php mit dem Block folgenden PHP-Code ....

<?php 
require_once("geoIP/geoip.inc"); 
$gi = geoip_open('geoIP/GeoIP.dat', GEOIP_MEMORY_CACHE); 
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
// prints the country code your visitor is in 
$my_countriesrow = array('AD','AE','AF','AG','AI'.....ect); 
$my_countrieseuro = array('AN','AT','BA','BE','BG','BY','CH'.....ect); 
/* $my_country = array('GB','UK'); */ 
if (!in_array(strtolower($country), $my_countriesrow)) { 
header('Location: https://www.website.com/row/index.php'); 
exit(); 
} 
else if(!in_array(strtolower($country), $my_countrieseuro)){ 
header('Location: https://www.website.com/euro/index.php'); 
exit(); 
} 
else { 
header('Location: https://www.website.com/index.php'); 
exit(); 
} 
// the end 
geoip_close($gi); 
?> 

ich denke, es könnte etwas mit meiner .htaccess-Datei zu tun, wie es dies in es enthält ....

# Make all requests have www in them 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^website\.com 
RewriteRule ^(.*)$ https://www.website.com$1 [R=permanent,L] 

weiß nicht, was sonst schon gezogen haben alles zu tun, auf meine Haare aus Dies! Vielen Dank in advance Jungs!

Grüße -Phillip

+0

Welche Seite wird diese Umleitung auf? Nicht auf irgendeiner der Seiten, auf die es umleitet? – HarryBeasant

+0

ist es auf der index.php der Hauptwebseite Harry! –

Antwort

0

AKTUALISIERT

diesen Code Angenommen wird in "https://www.website.com/row/index.php" enthalten

Wenn ich dies Besuch Seite von BE wird die erste if-Anweisung ausgelöst, und bringe mich immer wieder auf diese Seite.

Update:

Etwas Ähnliches könnte die Schleife verhindern:

require_once("geoIP/geoip.inc"); 
$gi = geoip_open('geoIP/GeoIP.dat', GEOIP_MEMORY_CACHE); 
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
$my_countriesrow = array('AD','AE','AF','AG','AI'); 
$my_countrieseuro = array('AN','AT','BA','BE','BG','BY','CH'); 

/* if you got redirected, do not redirect again */ 
if (!isset($_GET['redirected'])) { 
    if (!in_array(strtolower($country), $my_countriesrow)) header('Location: https://www.website.com/row/index.php?redirected'); 
    else if(!in_array(strtolower($country), $my_countrieseuro)) header('Location: https://www.website.com/euro/index.php?redirected'); 
    else header('Location: https://www.website.com/index.php?redirected'); 
} 

geoip_close($gi); 
+0

Ja, das ist, was ich dachte, lol, also warum ich fragte, auf welcher Seite es war - Anfängerfehler, der ist! – HarryBeasant

+0

Yep der gleiche Code-Block ist in allen index.php Seiten auf allen Seiten, aber es immer noch nicht umleiten –

+0

Phillip, las meine Antwort noch einmal, ich erklärte: Wenn es in allen index.php Seiten ist, wird es nicht funktionieren. –