Home » Php » php – how to redirect domain according to country IP address

php – how to redirect domain according to country IP address

Posted by: admin April 23, 2020 Leave a comment


I made a site it with some subdomains; according to the country’s IP address the user is supposed to be automatically redirected to corresponding subdomain.

Example :

Main site is abcd.com

  • Suppose some one from India typed this url abcd.com,
  • then the page redirects to ind.abcd.com
How to&Answers:

Download the geoPlugin class from:


Put a index.php file in your root folder:

$geoplugin = new geoPlugin();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "AL") {
header('Location: http://sq.wikipedia.org/');
else if ($var_country_code == "NL") {
header('Location: http://nl.wikipedia.org/');
else {
header('Location: http://en.wikipedia.org/');

Here is a list of country codes:



Check that you have the mod_geoip module (GeoIP Extension) installed on your server.

Then, tweak your .htaccess file accordingly :

GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

# Start Redirecting countries

# Canada
RewriteEngine on
RewriteRule ^(.*)$ http://ca.abcd.com$1 [L]

# India
RewriteEngine on
RewriteRule ^(.*)$ http://in.abcd.com$1 [L]

# etc etc etc...

And here’s the official documentation.


You could do this without require_once('geoplugin.class.php'); like so:

$a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$countrycode= $a['geoplugin_countryCode'];
if ($countrycode=='US')
    header( 'Location: http://example1.com' ) ;
    header( 'Location: http://example2.com' ) ;



If you are using a WordPress website, so its easy to use – (Geo Redirect plugin). It’s working like charm. Easy to use, easy to implement.