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