Směrování návštěvníka na určitou URL podle země/státu
Cílem tohoto příspěvku je ukázat jak se dá návštěvník přesměrovat na určitou adresu nebo zakázat přístup na stránky podle lokace návštěvníka. Například nepřejete-li si aby vaše stránky navštěvovali návštěvníci z Indie nebo Číny, tak jim zakážete přístup nebo je přesměrujete na jiné stránky.
Ke zprovoznění tohoto je potřeba nainstalovat na server balíčky:
GeoIP GeoIP-data a mod_geoip.
Postup pro Fedora Core, CentOS distribuce:
yum install GeoIP GeoIP-data mod_geoip
Pokud budete kompilovat ze zdroje je potřeba stáhnout balíčky: GeoIP a mod_geoip zkompilovat GeoIP, pak jít do rozbaleného adresáře mod_geoip a spustit:
/cesta/k/apxs -cia -I/usr/local/include -L/usr/local/lib -lGeoIP /cesta/k/mod_geoip_1.2.9/mod_geoip.c
kde -I/usr/local/include je cesta k souboru GeoIP.h a -L/usr/local/lib je cesta k libGeoIP knihovně.
Po úspěšném zkompilování modulu pokud by se objevila chybová hláška, je potřeba editovat soubor /etc/ld.so.conf a přidat do něj cestu k modulu (pokud chybí) pravdepodobne: /usr/local/lib
a reloadnout příkazem:
/sbin/ldconfig
Dále je potřeba do apache konfigurace přidat řádky (pokud tam již nejsou):
GeoIPEnable On GeoIPDBFile /cesta/k/GeoIP/GeoIP.dat
a do souboru .htaccess vložit řádky:
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$ [OR]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^IN$
RewriteRule ^(.*)$ - [F, NC]
… kde CN = Čína a IN = Indie dle tohoto seznamu.
Aktuální GeoIP databáze se dá stáhnout zde.