Böngésző nyelve szerinti átirányítás
Sziasztok!
Segítséget kérnék az alábbi feladatban:
Adott egy több nyelvű oldal, amin a magyar nyelvű böngészőkröl ill. magyar IP címről érkező látogatókat automatikusan át kellene irányítani a magyar nyelvű kezdőoldalra.
Valakinek van esetleg valamilyen bejáratott egyszerű módszere erre - már ha kivitelezhető problémamentesen.
Előre is köszönöm a válaszokat!
re: Böngésző nyelve szerinti átirányítás
MaxMind - GeoIP Country Geolocation IP Address to Country
Ezzel be tudod azonosítani az országot, 20 USD 200.000 lekérdezés. Érdemes eltárolnod az eredményt egy cookiban, hogy ne kérdezd le minden oldalmegtekintésnél. Én 3 napig szoktam eltárolni.
A böngésző nyelve nem annyira mérvadó, pl Romániában rengetegen használnak angol operációs rendszert és angol böngészőt.
re: Böngésző nyelve szerinti átirányítás
Idézet:
0xFF eredeti hozzászólása
MaxMind - GeoIP Country Geolocation IP Address to Country
Ezzel be tudod azonosítani az országot, 20 USD 200.000 lekérdezés. Érdemes eltárolnod az eredményt egy cookiban, hogy ne kérdezd le minden oldalmegtekintésnél. Én 3 napig szoktam eltárolni.
A böngésző nyelve nem annyira mérvadó, pl Romániában rengetegen használnak angol operációs rendszert és angol böngészőt.
Köszönöm a linket! A böngésző nyelv tudom, hogy nem annyira mérvadó, viszont az oldal magyar szekciójában jóval több info és oldal (blog, katalógus, stb.) lesz, így csak azt szeretném biztosítani, hogy aki magyar nyelvű böngészőről érkezik az a magyar nyelvű kezdőn landoljon - IP-nél dettó. A többi nyelvű böngésző és IP mind mehet az angolra.
re: Böngésző nyelve szerinti átirányítás
if ((isset($_GET['lang']))) { $lang = htmlspecialchars("{$_GET['lang']}"); } else { $lang = ""; }
if ($lang == "") {
$lang_id = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if (strlen($lang_id) == 2) {
$lang = strtolower($lang_id);
} else {
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$lang = strtolower(substr($hostname, -2));
}
}
if ($lang == "hu") { // Ha magyar
header("Location: MAGYAR OLDAL");
exit(0);
} else { // Ha nem magyar
header("Location: NEM MAGYAR OLDAL");
exit(0);
}
Ez annyit tesz, hogy ha GET-ről nincs beérkező lang, akkor elsőnek megnézi a böngésző nyelvét majd ha az nem megfeleő akkor a host alapján próbálja megyállapítani a nyelvet.
A host rész helyett lehetne GEOIP de az nem mindig áll rendelkezésre, ráadásul szerintem az a legfontosabb, hogy a user milyen nyelven használja a böngészőt.
Remélem ilyesmire gondoltál... :)
re: Böngésző nyelve szerinti átirányítás
a MaxMInd-nak van egy ingyenes verziója is . nagyon ok !:csib)