På alla våra webbhotellservrar har vi installerat en GeoIP-modul som kan användas via PHP och .htaccess-filer på webbhotellkontona. Med hjälp av detta kan man styra beteenden på hemsidor baserat på exempelvis vilken geografisk plats en hemsidebesökare befinner sig på.
Via PHP
Det finns ett antal olika GeoIP-relaterade server-variabler man kan använda sig av för att styra vilket innehåll som ska visas för specifika besökare baserat på olika faktorer. Faktorerna kan vara IP-adress, land, organisation osv. I följande tabell visas några exempel på de variabler man kan använda.
Variabel | Värde |
---|---|
$_SERVER[’GEOIP_ADDR’] | 46.16.232.138 |
$_SERVER[’GEOIP_COUNTRY_CODE’] | SE |
$_SERVER[’GEOIP_CONTINENT_CODE’] | EU |
$_SERVER[’GEOIP_ORGANIZATION’] | ODERLAND Webbhotell AB |
$_SERVER[’GEOIP_ISP’] | 44136 |
Hur du använder dessa i din kod är upp till dig och täcks inte av instruktionerna i denna guide.
Via .htaccess
Via .htaccess-filen för din hemsida kan du styra sitens beteende baserat på olika GeoIP-funktioner, här följer några exempel:
Blockera åtkomst till filer baserat på land
Om du vill begränsa så enbart besökare från vissa länder ska kunna nå wp-admin för din WordPressinstallation kan det göras med kod lik denna:
<IfModule mod_geoip.c> GeoIPEnable On RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(SE)$ RewriteRule (wp-login|xmlrpc).php$ - [F,L] </IfModule>
Exemplet ovan gör så att besökare som går in via internet i andra länder än Sverige blockeras.
Omdirigera besökare baserat på land de besöker sidan från
Om du har ett antal olika siter avsedda för besökare från specifika länder kan du låta GeoIP-funktionen på servern ordna med omdirigering till rätt site. Du kan använda kod liknande denna för att sköta det:
GeoIPEnable On # Omdirigera besökare från ett land till en viss site RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^DK$ RewriteRule ^(.*)$ http://www.exempel.dk$1 [R,L] # Omdirigera besökare från några olika länder till en viss site RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(US|CA)$ RewriteRule ^(.*)$ http://www.exempel.com$1 [R,L]