Forum » Izdelava spletišč » Lociranje in usmeritev obiskovalca glede na državo
Lociranje in usmeritev obiskovalca glede na državo
klevic ::
Lep pozdrav
Podjetje ima zakupljenih več končnic (.com. .si. .hr....), zanima me ali je mogoče nastavit v apachu ali kje drugje (os. je OpenBSD) da bi strežnik prepoznal iz katere države prihaja obiskovalec in ga, če je npr. iz Hrvaške usmeri na .hr stran, ki je v hrvaščini. Če ga ne more locirati oz. nimamo končnice njegove države ga usmeri na .com?
Bi se to dalo naredit z kakšno skriptico?
lp klemen
Podjetje ima zakupljenih več končnic (.com. .si. .hr....), zanima me ali je mogoče nastavit v apachu ali kje drugje (os. je OpenBSD) da bi strežnik prepoznal iz katere države prihaja obiskovalec in ga, če je npr. iz Hrvaške usmeri na .hr stran, ki je v hrvaščini. Če ga ne more locirati oz. nimamo končnice njegove države ga usmeri na .com?
Bi se to dalo naredit z kakšno skriptico?
lp klemen
www.gwost.com
c3p0 ::
Uporabi GeoIP, ki precej dobro deluje tudi v brezplačni verziji. Če gledaš po končnicah, bo siol.net. amis.net ipd. obiskovalec pristal v ZDA verziji, kar pa ni v redu. GeoIP te probleme v 99% reši. www.maxmind.com
klevic ::
Iz portov sem namestil :
-GeoIP-1.3.17.tgz
-mod_geoip-1.2.6p0.tgz
Installation log:
Dependencies for mod_geoip-1.2.6p0 resolve to: GeoIP-1.3.17 (todo: GeoIP-1.3.17)
mod_geoip-1.2.6p0:parsing GeoIP-1.3.17
installed /etc/GeoIP.conf from /usr/local/share/examples/GeoIP/GeoIP.conf4%
installed /var/db/GeoIP/GeoIP.dat from /usr/local/share/examples/GeoIP/GeoIP.dat
mod_geoip-1.2.6p0:GeoIP-1.3.17: complete
mod_geoip-1.2.6p0: complete
--- mod_geoip-1.2.6p0 -------------------
To finish the install of mod_geoip, you need
to enable the module using the following command
/usr/local/sbin/mod_geoip-enable
If you already have Apache running on your machine,
you should not use "apachectl restart" - instead,
you should fully stop and then restart the server.
# /usr/local/sbin/mod_geoip-enable
Enabling GeoIP module...
[activating module `geoip' in /var/www/conf/httpd.conf]
cp /usr/local/lib/mod_geoip.so /usr/lib/apache/modules/mod_geoip.so
chmod 755 /usr/lib/apache/modules/mod_geoip.so
cp /var/www/conf/httpd.conf /var/www/conf/httpd.conf.bak
cp /var/www/conf/httpd.conf.new /var/www/conf/httpd.conf
rm /var/www/conf/httpd.conf.new
Nato sem v .htaccess vstavil (poskusil sem tudi v httpd.conf vendar je rezultat enak):
GeoIPEnable On
GeoIPDBFile /var/www/GeoIP.dat
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SI$
RewriteRule ^(.*)$ http://www.xxx.it$1 [L]
Nato dobim sledeči error, ob dostopu na željeno stran se redirection ne izvede. Redirection modul je pravilno nameščen, vse datoteke so tam kjer morajo biti.
....
Error Opening file /var/www/GeoIP.dat
[Mon Jun 11 15:15:09 2007] [notice] child pid 23836 exit signal Segmentation fault (11)
[Mon Jun 11 15:15:09 2007] [notice] child pid 7723 exit signal Segmentation fault (11)
Error Opening file /var/www/GeoIP.dat
[Mon Jun 11 15:15:11 2007] [notice] child pid 14782 exit signal Segmentation fault (11)
Error Opening file /var/www/GeoIP.dat
Error Opening file /var/www/GeoIP.dat
....
-GeoIP-1.3.17.tgz
-mod_geoip-1.2.6p0.tgz
Installation log:
Dependencies for mod_geoip-1.2.6p0 resolve to: GeoIP-1.3.17 (todo: GeoIP-1.3.17)
mod_geoip-1.2.6p0:parsing GeoIP-1.3.17
installed /etc/GeoIP.conf from /usr/local/share/examples/GeoIP/GeoIP.conf4%
installed /var/db/GeoIP/GeoIP.dat from /usr/local/share/examples/GeoIP/GeoIP.dat
mod_geoip-1.2.6p0:GeoIP-1.3.17: complete
mod_geoip-1.2.6p0: complete
--- mod_geoip-1.2.6p0 -------------------
To finish the install of mod_geoip, you need
to enable the module using the following command
/usr/local/sbin/mod_geoip-enable
If you already have Apache running on your machine,
you should not use "apachectl restart" - instead,
you should fully stop and then restart the server.
# /usr/local/sbin/mod_geoip-enable
Enabling GeoIP module...
[activating module `geoip' in /var/www/conf/httpd.conf]
cp /usr/local/lib/mod_geoip.so /usr/lib/apache/modules/mod_geoip.so
chmod 755 /usr/lib/apache/modules/mod_geoip.so
cp /var/www/conf/httpd.conf /var/www/conf/httpd.conf.bak
cp /var/www/conf/httpd.conf.new /var/www/conf/httpd.conf
rm /var/www/conf/httpd.conf.new
Nato sem v .htaccess vstavil (poskusil sem tudi v httpd.conf vendar je rezultat enak):
GeoIPEnable On
GeoIPDBFile /var/www/GeoIP.dat
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SI$
RewriteRule ^(.*)$ http://www.xxx.it$1 [L]
Nato dobim sledeči error, ob dostopu na željeno stran se redirection ne izvede. Redirection modul je pravilno nameščen, vse datoteke so tam kjer morajo biti.
....
Error Opening file /var/www/GeoIP.dat
[Mon Jun 11 15:15:09 2007] [notice] child pid 23836 exit signal Segmentation fault (11)
[Mon Jun 11 15:15:09 2007] [notice] child pid 7723 exit signal Segmentation fault (11)
Error Opening file /var/www/GeoIP.dat
[Mon Jun 11 15:15:11 2007] [notice] child pid 14782 exit signal Segmentation fault (11)
Error Opening file /var/www/GeoIP.dat
Error Opening file /var/www/GeoIP.dat
....
www.gwost.com
c3p0 ::
Vse lepo piše:
Error Opening file /var/www/GeoIP.dat
Nisi namestil baze IPjev GeoIP.dat. Najdeš na FTPju.
Error Opening file /var/www/GeoIP.dat
Nisi namestil baze IPjev GeoIP.dat. Najdeš na FTPju.
bluefish ::
kako pa se lahko podobno stvar naredi pri datotekah na serverju (lahko brez GeoIP ? )? Če je obiskovalec iz slovenije, ga SAMODEJNO usmeri na slovensko verzijo strani, če pa je iz kje druge, pa na angleško.
Ice-Heki ::
/ celoten post namenjen blueFishu /
blueFish je napisal:
Tole misliš, kako bi naredil npr. v PHPju?
Ena možnost je, da dobiš podatkovno bazo, nato pa vzameš IP uporabnika in ga poiščeš v bazi ... (včasih je bilo tako, da so imeli ISPji določeno št. IP naslovov, npr. od xxx.xxx.001.xxx do xxx.xxx.002.xxx in potem se je vedelo, da vse kar je od 001.000 do 002.999, da je npr. ponudnik SiOL in da je uporabnik Slovenec). Take baze še obstajajo, samo poiskati jih je treba ... so pa včasih malce nezanesljive, ker so zastarele ...
Druga opcija je, da uporabiš kak brezplačen servis (naprednejši od www.moj-ip.com), in potem na stran vgradiš funkcijo, ki od uporabnika vzame IP ga pošlje servisu (torej neki strani), od tam pa dobiš odgovor o državi uporabnika ...
Tretja opcija je, da na podlagi jezika brskalnika definiraš jezik strani, ki se mu bo prikazal (je pa tole najslabša različica, sploh če uporabniki uporabljajo kakšne xyz brskalnike)
Potem, ko imaš podatek o lokaciji uporabnika oz. njegovem jeziku pa ga samo preusmeriš na določeno stran (npr. v PHPju narediš header('Location: ?lang=si'); za Slovenske uporabnike ... oz. če imate za Slovenske uporabnike domene header('Location: http://slovenska.domena'); -> to pa verjetno veš, glede na to, da tudi programiraš )
Upam, da sem ti pomagal ...
blueFish je napisal:
kako pa se lahko podobno stvar naredi pri datotekah na serverju (lahko brez GeoIP ? )? Če je obiskovalec iz slovenije, ga SAMODEJNO usmeri na slovensko verzijo strani, če pa je iz kje druge, pa na angleško.
Tole misliš, kako bi naredil npr. v PHPju?
Ena možnost je, da dobiš podatkovno bazo, nato pa vzameš IP uporabnika in ga poiščeš v bazi ... (včasih je bilo tako, da so imeli ISPji določeno št. IP naslovov, npr. od xxx.xxx.001.xxx do xxx.xxx.002.xxx in potem se je vedelo, da vse kar je od 001.000 do 002.999, da je npr. ponudnik SiOL in da je uporabnik Slovenec). Take baze še obstajajo, samo poiskati jih je treba ... so pa včasih malce nezanesljive, ker so zastarele ...
Druga opcija je, da uporabiš kak brezplačen servis (naprednejši od www.moj-ip.com), in potem na stran vgradiš funkcijo, ki od uporabnika vzame IP ga pošlje servisu (torej neki strani), od tam pa dobiš odgovor o državi uporabnika ...
Tretja opcija je, da na podlagi jezika brskalnika definiraš jezik strani, ki se mu bo prikazal (je pa tole najslabša različica, sploh če uporabniki uporabljajo kakšne xyz brskalnike)
Potem, ko imaš podatek o lokaciji uporabnika oz. njegovem jeziku pa ga samo preusmeriš na določeno stran (npr. v PHPju narediš header('Location: ?lang=si'); za Slovenske uporabnike ... oz. če imate za Slovenske uporabnike domene header('Location: http://slovenska.domena'); -> to pa verjetno veš, glede na to, da tudi programiraš )
Upam, da sem ti pomagal ...
balocom ::
kaj pa domene in ga glede na zahtevano domeno pošle na tisto stran? (Virtual server al kaj že...)
V svetu brez googla bi bil najbolj uporabljen ukaz v bash-u ukaz man
Ice-Heki ::
Geoip je posodabljan vsak mesec (zastonjska verzija) imajo tudi dober php api
Se opravičujem, nisem vedel, ker nobenega od teh servisov do sedaj nisem uporabljal, samo vem da obstajajo ...
Hvala za opozorilo!
hvala Ice-Heki
Ni zakej
kaj pa domene in ga glede na zahtevano domeno pošle na tisto stran? (Virtual server al kaj že...)
Mogoče misliš tole, da pride uporabnik iz npr. domene www.domena.si na stran www.domena.com?lang=si, iz www.domena.at pa na www.domena.com?lang=de ... Seveda se da narediti, samo to po moje ni ravno najboljše - poglej, če jaz vpišem www.simobil.si oz. www.simobil.com oz. www.simobil.net je fino, če je stran vedno slovenska, ker jo pač najhitreje razumem in vsebuje informacije za slovensko prebivalstvo ... če me zanimajo angleške novice, jo že potem preklopim
Loki ::
hm?
http://ip-to-country.webhosting.info/
ce ti stran podpira kaksen skripten jezik, se da napisati, da gleda ip uporabnika.
http://ip-to-country.webhosting.info/
ce ti stran podpira kaksen skripten jezik, se da napisati, da gleda ip uporabnika.
I left my wallet in El Segundo
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Na podlagi IP naslova najdi točno lokacijoOddelek: Omrežja in internet | 1454 (1138) | Spc |
» | Google Street View zbiral podatke o brezžičnih omrežjihOddelek: Novice / Zasebnost | 6905 (5950) | poweroff |
» | Prepoved za ogled spletne strani le nekaterimOddelek: Programiranje | 1147 (1089) | fiction |
» | Ip številkaOddelek: Omrežja in internet | 1776 (1562) | meatwaad |
» | Spletni servis za statistikoOddelek: Izdelava spletišč | 2037 (1942) | bradek |