Перенаправление в зависимости от страны? - PullRequest
3 голосов
/ 23 октября 2008

У нас в основном есть 2 сайта (веб-сервер Java / JSP / Apache): что-то и что-то

.ca - канадский контент, а .com - американский.

Нам нужно, чтобы пользователи перенаправлялись по IP-адресу. Мы хотим, чтобы пользователи из США получили сайт .com, а пользователи из Канады - сайт .ca.

Каков наилучший способ сделать это (на уровне веб-сервера или иным образом)?

Пожалуйста, уточните.

Ответы [ 5 ]

3 голосов
/ 23 октября 2008

Я использовал GeoIP от Maxmind, и он работает хорошо. У них есть бесплатная версия GeoCountry Lite Это точно на 99,3%. Java API здесь Я бы следовал практике Google, когда вы делали ссылку на исходную версию, если вы делаете перенаправление.

3 голосов
/ 23 октября 2008

По моему опыту веб-серфинга, большинство веб-сайтов - например, UPS.com - просят пользователя выбрать сайт своей страны, а не пытаться выяснить это самостоятельно. Они помнят выбор в печенье. Многое зависит от того, насколько добровольным ваш вариант использования требует этого перенаправления.

На стороне реализации я бы использовал фильтр, который проверял бы настройки и запускал перенаправление в случае необходимости.

2 голосов
/ 23 октября 2008

Проверьте GeoDirection. Он может обрабатывать то, что вы хотите через JavaScript.

http://www.geobytes.com/GeoDirection.htm

Другим вариантом может быть выбор культуры из настроек среды браузера и сопоставление этих культур со странами в вашем приложении. В зависимости от того, что вы на самом деле пытаетесь сделать, это может не сработать для вас, так как это не даст вам физического местоположения пользователя, но даст вам его предпочтительную культуру. Поэтому, если канадец отправится в США, он все равно получит канадский сайт, если по какой-то причине он не изменил настройки своего браузера.

1 голос
/ 23 октября 2008

Использование настроек культуры возможно, но в некоторых случаях не работает. Что если у вас есть немецкий пользователь в США, которому нравятся его даты и т. Д., Отображаемые в удобном для него формате? Не меняет того факта, что он в США.

Я думаю, что это одна из причин, по которой большинство компаний просто запрашивают пользователя, а затем сохраняют эту информацию в cookie (UPS, FedEx и большинство крупных авиакомпаний делают это). Проверьте www.lufthansa.com. Они фактически запрашивают местоположение и язык (для учета стран с более чем одним официальным языком, например, Швейцария).

1 голос
/ 23 октября 2008

Существует множество API геолокации IP . Я не знаю, есть ли что-то хорошее, за что вам не нужно платить:

...