基于美国州的重定向页面,使用 Maxmind geoip2 JS

Posted

技术标签:

【中文标题】基于美国州的重定向页面,使用 Maxmind geoip2 JS【英文标题】:Redirect Page based on US State, using Maxmind geoip2 JS 【发布时间】:2014-12-13 00:28:08 【问题描述】:

我希望根据访问者来自美国的哪个州来重定向页面。

很长一段时间以来,我一直在使用遗留脚本,如下所示,它非常简单易用 - 我所要做的就是将它粘贴到我的 html 文件中的标记之后,它就可以工作了:

<script language="javascript" src="http://j.maxmind.com/app/geoip.js"></script>

<script language="JavaScript">

var user_state = geoip_region();

if( user_state == "NY")
window.location = "http://example.com/new-york-page/";

else if( user_state == "TX")
window.location = "http://example.com/texas-page/";

</script>

因此,如果用户来自德克萨斯或纽约,他们会被重定向,否则,他们只会继续访问我嵌入此代码的页面。

但是最近,它停止了工作,显然这个来自 maxmind 的免费旧脚本不再工作(给出 404 错误)并且他们只是“付费”了。

所以,我付费使用了他们更新的 geoip2 脚本,并用 geoip2 代码替换了第一行,给我这个:

<script src="http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>

<script language="JavaScript">

var user_state = geoip_region();

if( user_state == "NY")
window.location = "http://example.com/new-york-page/";

else if( user_state == "TX")
window.location = "http://example.com/texas-page/";

</script>

但我发现它不起作用。

我一直试图了解他们网站上的 geoip 教程,但它们太复杂了,我真的很挣扎。我正在寻找与第一个示例一样简单易用的东西 - 即我可以在标记之后复制并粘贴到我的页面中的东西。

任何人有任何想法,是否仍然可以使用 geoip2 脚本,而不是旧的旧脚本,根据访问者从哪个状态到达网页进行简单的重定向?

【问题讨论】:

【参考方案1】:

该模块中没有函数geoip_region。但是有一个对象geoip2。我不确定状态(您需要查看他们的文档),但要获得城市,您需要拨打电话geoip2.city()

【讨论】:

感谢 troolee,知道我可以通过 geoip2 对象调用 City 非常有用。一直在搜索文档以尝试找到该地区的电话,但没有成功。想知道这是否不可能,我必须自己上传数据库...

以上是关于基于美国州的重定向页面,使用 Maxmind geoip2 JS的主要内容,如果未能解决你的问题,请参考以下文章

我的 IP 地址的 Maxmind GeoIP 重定向异常

获取给定美国州的相邻州

.htaccess 基于 SSL 协议的重定向

如何解决这个 MaxMind GeoIP 重定向问题?

防止 Django 模板表单中的重定向

基于 JSON 回调数据的重定向 URL