我们基本上有2个站点(Java / JSP / Apache Webserver): something.ca& something.com
.ca是加拿大内容,.com是美国内容。
我们需要根据ip addreess重定向用户。 我们希望美国用户获得.com网站,加拿大用户获得.ca网站。
执行此操作的最佳方法是什么(在网络服务器级别或其他方面)?
请详细说明。
答案 0 :(得分:3)
在我的网上冲浪体验中,大多数网站 - 例如UPS.com--要求用户选择他们的国家网站,而不是试图自己弄清楚。他们记得饼干中的选择。很大程度上取决于您的用例需要这种重定向的自愿性。
在执行方面,我会使用一个过滤器来检查设置并在需要时触发重定向。
答案 1 :(得分:3)
我使用过Maxmind的GeoIP,效果很好。他们的free version GeoCountry Lite准确率为99.3%。 Java API is here如果您进行重定向,我会按照谷歌的做法将链接恢复为原始版本。
答案 2 :(得分:2)
查看GeoDirection。它可以通过javascript处理你想要的东西。
http://www.geobytes.com/GeoDirection.htm
另一种选择是从浏览器环境设置中获取文化,并将这些文化映射到应用程序中的国家/地区。根据您实际尝试的操作,这可能对您不起作用,因为这不会为您提供用户的实际位置,但会为您提供他们的首选文化。因此,如果加拿大人前往美国,他们仍会获得加拿大网站,除非他们出于某种原因更改了浏览器设置。
答案 3 :(得分:1)
那里有很多IP geolocation APIs - 我不知道那里有什么好东西你不需要付钱:
答案 4 :(得分:1)
使用文化设置是一种选择,但在某些情况下不起作用。如果您在美国有一位喜欢他的日期的德国用户,以他熟悉的格式显示怎么办?不会改变他在美国的事实。
我认为这是大多数公司只是询问用户然后将这些信息存储在cookie中的原因之一(UPS,FedEx和大多数主要航空公司都这样做)。查看www.lufthansa.com。他们实际上询问地点和语言(考虑到瑞士等官方语言不止一种的国家)。