2012-07-09 188 views
1

我正在創建像nytime.com這樣的新聞網站,但多國(不同國家的不同新聞和語言)。如何將IP地址轉換爲國家?

所以我需要將IP地址轉換爲國家,並將用戶重定向到適當的子域。 例如,如果西班牙用戶轉到mysite.com他將被重定向到es.mysite.com

如果你願意,可以爲我推薦其他解決方案,但請記住它必須針對搜索引擎進行優化。

+1

就我個人而言,當我根據我所在的國家/地區(Google ...)獲得其他網站時,我討厭它,所以我只使用$ _SERVER [「HTTP_ACCEPT_LANGUAGE」]使用語言檢測,只是更改語言設置,不同的內容。 – jeroen 2012-07-09 18:13:26

+0

這不僅是一個語言問題,也是一個內容問題(針對不同國家的不同內容)。所以在美國的一位意大利用戶會看到美國的第一個新聞(之後他可以改變國家的新聞)。 – xRobot 2012-07-09 18:18:01

+0

我知道,這就是爲什麼我只是發表評論... – jeroen 2012-07-09 20:39:26

回答

1

您不能直接將IP轉換爲國家。但是,您可以使用具有針對各國的IP/IP範圍的數據庫,這是大多數網站執行此操作的方式。

1

MaxMind以適用於許多數據庫和編程語言的格式或者作爲Apache插件銷售這些數據。這並不總是正確的,但它可能是準確的,你可以得到。

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

這不是一個JS方法的優點是不會提示用戶透露他們的位置。

0

退房

基本上你需要一個數據庫,在那裏你可以比較手中的IP並找出它的國家。 Maxmind爲您提供自主數據庫&代碼示例,而IPinfoDB提供免費的API服務。

0

有沒有內置的方法。互聯網上有網絡服務提供這種映射。這種數據庫「GeoIP數據庫」也可用於本地使用。

但最好訂閱更新的網絡服務並使用它來獲取位置。 Google's Client Location API應該幫助你。

一些現代瀏覽器會向您發送用戶位置信息。你可以使用它。但是由於這不是所有瀏覽器都遵循的,所以它不可靠。您可以查看w3.org提供的Geo Location API

相關問題