我将"wa,or and id"(来自这些州的访问者)设置为重定向到website1.com,当我访问该网站时,它会将我重定向到webite1.com(这样它就知道我在华盛顿州)。但如果我把wa改为fl,然后访问该网站,它会把我重定向到google.com——我设置的默认URL。
在上面的例子中,如果他们不是来自wa、id或-他们应该留在页面上/不被重定向(除非有合法的查询错误,这似乎不是,因为它知道我在wa)
有人知道我做错了什么吗?谢谢
<script src="//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>
调用另一个包含以下内容的JS文件:
var redirect = (function () {
/* This implements the actual redirection. */
var redirectBrowser = function (site) {
// Enter default URL below
var uri = "http://www.google.com/?=error";
if(site != "default") {
switch (site)
{
// For each site put the iso_code identfiers for each state/province (in lowercase) you want to redirect after each case. Copy and paste as below for more options.
case "fl":
case "or":
case "id":
uri = "http://www.website1.com";
}
}
window.location = uri;
};
var onSuccess = function (geoipResponse) {
/* There's no guarantee that a successful response object
* has any particular property, so we need to code defensively. */
if (!geoipResponse.subdivisions[0].iso_code) {
redirectBrowser("default");
return;
}
/* ISO country codes are in upper case. */
var code = geoipResponse.subdivisions[0].iso_code.toLowerCase();
if ( code ) {
redirectBrowser(code);
}
else {
redirectBrowser("default");
}
};
/* We don't really care what the error is, we'll send them
* to the default site. */
var onError = function (error) {
redirectBrowser("default");
};
return function () {
geoip2.city( onSuccess, onError );
};
}());
redirect();
将switch语句更改为此语句,看看它是否有效:
switch (site){
case "fl":
case "or":
case "id":{
uri = "http://www.website1.com";break;}
default:
return;
}