我希望在重定向页面时会有所帮助,该页面根据访问者来自美国的州而定。
一段时间以来,我一直在使用旧脚本,如下所示,它是如此简单易用-我要做的就是将其粘贴到标记后的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脚本到达网页所指向的国家,而不是旧有的国家来进行重定向?
最佳答案
该模块中没有功能geoip_region
。但是有一个对象geoip2
。我不确定州(您需要查看他们的文档),但是要获取城市,您需要拨打geoip2.city()
。