Link to home
Start Free TrialLog in
Avatar of Jonathan Duane
Jonathan Duane

asked on

Redirecting domain to sub domain

Hi Guys, i have a domain with lots of subdomains, when people open up a browser based on their IP address i would like if it forwarded onto one of the subdomains so say for instance my ip is and i open up i would like it to redirect to is this possible?
Avatar of Julian Hansen
Julian Hansen
Flag of South Africa image

Firstly - are the IP's guaranteed to be static?

If so you build an IP -> subfolder lookup
$lookup = [
  '' => '/folder1',
  '' => '/folder2'

$ip = getIPAddress(); // Custom function see below

$destination = isset($lookup[$ip]) ? $lookup[$ip] : false;
if ($destination) {
  header('location: ' . $destination);
} else {
   // handle error

function getIPAddress(){
        //ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
        //ip pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        $ip = $_SERVER['REMOTE_ADDR'];
    return $ip;

Open in new window

Note: The above code is untested but it demonstrates the concept.

The getIPAddress() function was obtained from here other examples are here
Avatar of Julian Hansen
Julian Hansen
Flag of South Africa image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Both of Julian's suggestions will work.

And if you have many users, your main budget may go toward dealing with visitor problems related to your IP routing, depends on your exact system.

Now the big question is what you hope to accomplish.

Keep in mind these days...

1) Many people use VPNs, so their IPs will constantly change.

2) Most people use cell devices, so their IPs may change as they bounce between cell towers + networks, depending on many factors.

5G is another consideration. No one knows yet, as implementations are rare + vary a great deal.

3) You can no longer make any Geo determination for a visitor on an IP, because of #1 + #2.

Suggestion: If required, open another question describing what you hope to accomplish + ask for design assistance.