2008-10-23 4 views
3

Мы в основном имеем 2 места (Java/JSP/сервер Apache): something.ca & something.comПеренаправление в зависимости от страны?

.ca является канадцем содержания и .com является американским контентом.

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

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

Просьба уточнить.

ответ

3

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

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

2

Проверьте GeoDirection. Он может обрабатывать то, что вы хотите с помощью javascript.

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

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

1

Есть много IP geolocation APIs там - я не знаю, если есть что-нибудь хорошее, что там вам не придется платить за:

1

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

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

3

Я использовал GeoIP от Maxmind, и он работает хорошо. У них есть free version GeoCountry Lite Точность 99.3%. Java API is here Я бы следил за практикой Google по возврату ссылки на исходную версию, если вы делаете перенаправление.