Autor | Zpráva | ||
---|---|---|---|
sxstem Profil * |
#1 · Zasláno: 7. 2. 2008, 15:17:01
Dobrý den,
Prosím vás nevíte někdo jednoduchý skript pro rozpoznání jazyka a nasledné přesměrování na jinou url. Příklad: v rootu mam stránky v EN a v podadresáři v CZ. potřebuji když CZ uživatel přijde na hl.doménu (root) aby byl automaticky přesměrován na podadresář kde je stránka v CZ. Děkuji všem za pomoc |
||
panhuhu Profil |
#2 · Zasláno: 7. 2. 2008, 15:19:45
Zkus GeoIP
|
||
vertigo4 Profil |
#3 · Zasláno: 7. 2. 2008, 16:20:02 · Upravil/a: vertigo4
sxstem
jak píše panhuhu... třeba if ($_SERVER["GEOIP_COUNTRY_CODE"]=="cz" ) header ("Location: cz/index.php"); elseif ($_SERVER["GEOIP_COUNTRY_CODE"]=="sk" ) header ("Location: sk/index.php"); else header ("Location: index.php"); |
||
xy125 Profil |
#4 · Zasláno: 7. 2. 2008, 16:24:05
Něco takovýho používám já, kdo má nastaven prohlížeč na cz, nebo sk, zobrazí se mu čeština, ostatním angličtina
if (!isset($lg)) { $lg = explode(",",$HTTP_ACCEPT_LANGUAGE); $lg = StrToLower(Substr(chop($lg[0]),0,2)); } if ($lg=="sk") $lg="cs"; if (($lg<>"en") && ($lg<>"cs")) $lg="en"; $url="http://" . $_SERVER['SERVER_NAME']."/".$lg."/"; header("HTTP/1.1 301 Moved Permanently"); header("Location: $url"); |
||
xy125 Profil |
#5 · Zasláno: 7. 2. 2008, 16:26:08
vertigo4, panhuhu
přes GEOIP bych to moc nedělal, i když jsem v cizině, pořád chci koukat na stránky v češtině, lepší je to podle nastavení prohlížeče |
||
suky Profil |
#6 · Zasláno: 7. 2. 2008, 16:28:58
xy125
Navic GeoIP nefunguje moc presne, treba kdyz jsem se pripojil v Pirne (u Drazdan) ukazovalo mi to, ze jsem v Mnichove ;) |
||
vertigo4 Profil |
#7 · Zasláno: 7. 2. 2008, 16:31:31
suky
no tak ale "de" to snad vypiše? |
||
djlj Profil |
#8 · Zasláno: 7. 2. 2008, 16:35:56
suky
Záleží na aktuálnosti databáze. |
||
suky Profil |
#9 · Zasláno: 7. 2. 2008, 16:40:43
vertigo4
No jasne. djlj A jak to bere ty ip? Podle zprostredkovatele? |
||
panhuhu Profil |
#10 · Zasláno: 7. 2. 2008, 17:33:27
xy125
Samozřejmě se to dá pojistit i přes $HTTP_ACCEPT_LANGUAGE, ale jak píše vertigo4, záleží na aktuálnosti. Když si uděláš vlastní updater neměl by být problém. Jiný postup nalezneš i na phpmyvisites.us . |
||
xy125 Profil |
#11 · Zasláno: 7. 2. 2008, 17:46:42 · Upravil/a: xy125
panhuhu
Nevidím jediný důvod, proč rozhodovat o tom, jakou jazykovou verzi použit, podle lokalizace, ať už je aktuální, nebo ne. To se přeci používá na něco jinýho. Až budu chtít uživatelům ukázat, kde se asi nachází, použiju GEOIP, Když jim chci nabídnout jazykovou verzi webu, podívám se, jaký jazyk preferují. Maximálně bych to tím GEOIP mohl pojistit, ale určitě bych GEOIP nebral jako hlavní. |
||
sxstem Profil * |
#12 · Zasláno: 7. 2. 2008, 18:22:33
Děkuji za vaše příspěvky.. Chtěl bych dotáhnout do konce variantu od xy125. Ale po použití jak uvádím níže mi přesměrovává www.example.com (zde je kod použit) jak EN i CZ prohlížeče do položky www.example.com/cz .
Potřebuji aby EN a ostatní prohlížeče nechal na www.example.cz a CZ (popřípadě sk) prohlížeče přesměroval do podadresáře www.example.com/cz zde je použitý kód: if (!isset($lg)) { $lg = explode(",",$HTTP_ACCEPT_LANGUAGE); $lg = StrToLower(Substr(chop($lg[0]),0,2)); } if ($lg=="sk") $lg="cs"; if (($lg<>"en") && ($lg<>"cs")) $lg="cz"; $url="http://" . $_SERVER['SERVER_NAME']."/".$lg."/"; header("HTTP/1.1 301 Moved Permanently"); header("Location: $url"); Alternativa by byla, že EN a ostatní prohlížeče zanechá v www.example.com a CZ prohlížeče přesměruje na již hotovou doménu cz.example.com |
||
sxstem Profil * |
#13 · Zasláno: 7. 2. 2008, 18:24:31
OPRAVA: www.example.cz je špatně. přepsal jsem se. myslel jsem www.example.com
|
||
Časová prodleva: 16 let
|
0