Перенаправление в зависимости от страны?
В основном у нас есть 2 сайта (веб-сервер Java /JSP / Apache):
.Ca - это канадский контент, а.com - американский.
Нам нужно перенаправить пользователей, основываясь на IP-адресе. Мы хотим, чтобы пользователи из США получили сайт.com, а пользователи из Канады - сайт.ca.
Каков наилучший способ сделать это (на уровне веб-сервера или иным образом)?
Пожалуйста, дополните.
5 ответов
Я использовал GeoIP от Maxmind, и он работает хорошо. У них есть бесплатная версия GeoCountry Lite. Точность 99,3%. Java API здесь, я следовал бы практике Google иметь ссылку обратно на оригинальную версию, если вы сделаете редирект.
По моему опыту веб-серфинга большинство веб-сайтов - например, UPS.com - просят пользователя выбрать сайт своей страны, а не пытаться выяснить это самостоятельно. Они помнят выбор в печенье. Многое зависит от того, насколько добровольным ваш вариант использования требует этого перенаправления.
Что касается реализации, я бы использовал фильтр, который проверял бы настройки и запускал перенаправление в случае необходимости.
Проверьте GeoDirection. Он может обрабатывать то, что вы хотите через JavaScript.
http://www.geobytes.com/GeoDirection.htm
Другим вариантом может быть получение культуры из настроек среды браузера и сопоставление этих культур со странами в вашем приложении. В зависимости от того, что вы на самом деле пытаетесь сделать, это может не сработать для вас, так как это не даст вам физического местоположения пользователя, но даст вам его предпочтительную культуру. Так что, если канадец отправится в США, он все равно получит канадский сайт, если по какой-то причине он не изменил настройки своего браузера.
Существует множество API геолокации IP - я не знаю, есть ли что-то хорошее, за что вам не нужно платить:
Использование настроек культуры является опцией, но в некоторых случаях не работает. Что если у вас есть немецкий пользователь в США, которому нравятся его даты и т. Д., Отображаемые в удобном для него формате? Не меняет того факта, что он в США.
Я думаю, что это одна из причин, по которой большинство компаний просто запрашивают пользователя, а затем сохраняют эту информацию в куки (UPS, FedEx и большинство крупных авиакомпаний делают это). Проверьте www.lufthansa.com. Они фактически запрашивают местоположение и язык (для учета стран с более чем одним официальным языком, например, Швейцария).