GT Logo zurück zu good-tutorials.de
Tutorial eintragen | Registrieren | Login
Tutorial: automatische Weiterleitung - länderspezifisch

Kommentare anzeigen | Tutorial anzeigen | Melde Dich an um das Tutorials zu deinen Favoriten hinzu zu fügen.

automatische Weiterleitung - länderspezifisch

Ladet euch die aktuelle ip Liste unter folgenden URL runter:

IP2COUNTRY

Danach geht ihr in eure index.php (bzw. Startdatei) der Domain und bindet folgenden Code ein:

 <?php
function findcountry($ip){
    // Datei einlesen
    // Hier muss der Pfad zur Datei angegeben werden z.B.
    // $countrydb = file("http://www.deine-domain.de/daten/ip-to-country.csv");
    $countrydb = file("ip-to-country.csv");
    // IP umformen
    $ip_number = sprintf("%u",ip2long($ip));
    // Binärsuche starten
    $low = 0;
    $high = count($countrydb) -1;
    $count = 0;

    while($low <= $high) {
        $count++;
        $mid = floor(($low + $high) / 2);
        $num1 = substr($countrydb[$mid], 1, 10);
        $num2 = substr($countrydb[$mid], 14, 10);
            if($num1 <= $ip_number && $ip_number <= $num2){
                // Länderkennung ausgeben
                $country = substr($countrydb[$mid], 27, 2);
                return $country;
            break;
            } else {
            if ($ip_number < $num1) {
                $high = $mid - 1;
            } else {
                $low = $mid + 1;
            }
        }
    }
}

// Abfrage der Client IP Adresse
// für Testzwecke einfach $_SERVER['REMOTE_ADDR'] gegen eine beliebige IP tauschen. z.B.
// $rip = '91.38.159.13';
$rip = $_SERVER['REMOTE_ADDR'];

// Funktionsaufruf
$country = findcountry($rip);

// Abfrage ob aus Deutschland
if ($country == 'DE'){
        // Hier kann unter anderem auf eine andere Seite weitergeleitet werden
        // als Beispiel erfolgt hier eine Ausgabe an den Browser
        // nur den folgenden Code auskommentieren und um die Domain ergänzen
        // header('Location: http://www.deine-de-Domain.de/');
        print 'Weiterleitung auf die .de Domain';
    } else {
        // Hier wird die 2. Domain angegeben, alternativ einfach auskommentiert lassen
        // als Beispiel erfolgt hier eine Ausgabe an den Browser
        // header('Location: http://www.deine-com-Domain.com/');
        print 'Weiterleitung auf die .com Domain';
    }
?>

Der Quelltext ist entsprechend auskommentiert damit ihr wisst, was welcher Befehl macht und die alles entsprechend anpassen könnt.

Die Datei gibt es nochmal hier zum Download.

Vielen Dank für das Codesnippet an
webmaster-eye.de

ACHTUNG: Sofern ein Benutzer mit einem Proxysystem arbeitet bekomlmt dieser höchtwahrscheinlich nicht die richtige Webseitensprache angezeigt.