1

我正在创建一个像 nytime.com 这样的新闻网站,但有多个国家(不同国家的新闻和语言不同)。

所以我需要将 IP 地址转换为国家,然后将用户重定向到适当的子域。例如,如果西班牙用户访问mysite.com,他将被重定向到es.mysite.com

如果您愿意,您可以向我提出其他解决方案,但请记住它必须针对搜索引擎进行优化。

4

6 回答 6

1

您不能直接将 IP 转换为国家/地区。但是,您可以使用具有针对国家/地区的 IP/IP 范围的数据库,这是大多数网站的做法。

于 2012-07-09T18:02:53.760 回答
1

MaxMind 以适用于许多数据库和编程语言的格式或作为 Apache 插件出售这些数据。它并不总是正确的,但它可能尽可能准确。

http://www.maxmind.com/app/ip-location

这种方法而不是 JS 方法的优点是不会提示用户透露他们的位置。

于 2012-07-09T18:03:11.773 回答
0

http://html5demos.com/geo/

这是一个很好的免费解决方案。

您可以为 php 地理定位付费,但价格昂贵。

于 2012-07-09T18:02:50.280 回答
0

http://software77.net/geo-ip/

在右侧的边栏中,您可以下载数据库

有类似的数据库和服务,只需谷歌“ip to country”

于 2012-07-09T18:05:12.993 回答
0

查看

基本上,您需要一个数据库,您可以在其中比较手头的 IP 并找出它的国家/地区。Maxmind 为您提供自托管的数据库和代码示例,而 IPinfoDB 提供免费的 API 服务。

于 2012-07-09T18:05:50.647 回答
0

没有内置的方法。互联网上有提供此类映射的网络服务。此类数据库“GeoIP 数据库”也可供本地使用。

但最好订阅更新的网络服务并使用它来获取位置。Google 的 Client Location API应该可以帮助您。

一些现代浏览器会向您发送用户位置。你可以用那个。但由于并非所有浏览器都遵循这一点,因此并不可靠。您可以查看w3.org 提供的Geo Location API 。

于 2012-07-09T18:07:36.793 回答