Как показать другую домашнюю страницу в зависимости от страны пользователя?

У меня было два домена. rajasekar.com и rajasekar.in. Что мне нужно сделать, так это то,

когда пользователь из Индии вводит URL-адрес в адресной строке как www.rajasekar.com, тогда он должен открыть www.rajasekar.in

Когда пользователь из других стран вводит URL-адрес в адресной строке как www.rajasekar.com, он должен открыть www.rajasekar.com

Я думаю, что это то, что реализовано в GOOGLE. Пожалуйста, помогите мне в достижении этого

    Вы можете попытаться угадать страну на основе удаленного адреса пользователя.

    Следующее – это рабочее решение, вам придется работать с логикой перенаправления:

    $remoteAddr = $_SERVER['REMOTE_ADDR']; $lookupUrl = sprintf('http://api.hostip.info/country.php?ip=%s', $remoteAddr); $country = trim(file_get_contents($lookupUrl)); if ('IN' === $country) { $newUrl = 'http://www.rajasekar.in/'; header(sprintf('Location: %s', $newUrl)); printf('<a href="%s">Moved.</a>', $newUrl); exit(); } 

    Позаботьтесь о том, чтобы роботы поисковых систем из Индии могли также сканировать контент .com.

    это может помочь, http://www.maxmind.com/app/geoip_country

    В ASP.NET получите IP-адрес клиента, используя:

     Request.ServerVariables("REMOTE_ADDR") 

    Используйте некоторый IP-адрес для службы определения географического местоположения, например:

    1. Maxmind
    2. IPAddressExtentions

    Как только вы получите страну, вы можете легко перенаправить пользователя:

      Response.Redirect("http://www.yourdomain.in") 

    Заголовок запроса Accept-Language укажет вам, на каком языке / регионе пользователь имеет свой браузер.

    Вместо (или, по крайней мере, в дополнение к), глядя на страну IP-адреса, вы должны проверить HTTP-заголовок Accept-Language ( $_SERVER['HTTP_ACCEPT_LANGUAGE'] в PHP)

    Этот заголовок обычно содержит пары языковой пары:

     en-US, hi_IN, fr, de;q=0.5 

    У PHP intl extension есть методы, которые помогают его разбор .

    Проблемы с поиском IP:

    • Обычные пользователи не имеют возможности изменять свой IP-адрес или как их адрес классифицируется в IP-гео-базах данных. Гораздо более вероятно, что пользователи могут выбирать / настраивать язык своей операционной системы / браузера, что влияет на заголовок Accept-Language .

    • Существуют прокси-серверы ISP, которые находятся в стране, отличной от пользователя, например, AOL маршрутизирует некоторый международный трафик через США, многие мобильные пользователи используют Opera Mini с прокси-серверами в Норвегии. Если вы ищете IP-адрес, по крайней мере, X-Forwarded-For заголовок X-Forwarded-For . Заголовок Accept-Language передается через прокси без таких проблем.

    • Я использовал базу данных hostip.info и обнаружил, что она неполна и содержит ошибки. Также подумайте, что каждый раз, когда HTTP-запрос на сторонний PHP-скрипт будет замедлять работу вашего сайта и тратить ресурсы, он будет тратить время. Разбор заголовка Accept-Language по существу свободен.

    • Если вы не хотите просто страны, но говорят языки, то IP → Страна не будет точным для стран, где говорят на разных языках. Accept-Language может предоставить вам более точную информацию (например, nl_BE для голландцев в Бельгии, fr_CA для канадских французов).

    Ни один из методов не является 100% правильным, поэтому было бы разумно позволить пользователям отменить выбор.

    Также имейте в виду, что если вы принудительно перенаправляете «правильный» домен, тогда боты поисковых систем не смогут индексировать все ваши домены, поскольку они, скорее всего, будут поступать с IP-адреса США и не будут указывать предпочтительный язык. Лучше не применять обнаружение к доменам, отличным от .com , и / или не применять его на других страницах, кроме главной страницы.