最近在地铁上看到了一路捞导航网铺天盖地的广告,想想明天就要踏上回家的火车,无事可做,于是就上上这个网站吧。
我的电脑安装的是Xubuntu系统,是个Linux操作系统,然后打开Firefox浏览器,键入16lao.com,回车。
奇迹发生了,页面从16lao.com跳转到m.16lao.com,之后又跳转到m.cn.16lao.com。
我心想,这可是个PC啊,怎么跳到移动端页面去了?
于是切换个UA吧,换成Win的UA果然没有再跳转了。
那么原因是什么呢?
先上CURL工具试试,
无论如何都会跳转cn.16lao.com的吧,继续
出代码了,估计不是header的事儿,再查查header
没有发现301,302什么的,估计是JS了。
看看源码吧,果然里面有这么一段:
<script type="text/javascript">
function checkReqUrl(){
var redirectUrl = "";
var u = navigator.userAgent;
if (u.indexOf('iPhone') > -1) {
redirectUrl="http://m.16lao.com";
}
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
var referrerUrl = document.referrer;
var re =new RegExp("http://hd[.].+[.]16lao.com");
if(!re.test(referrerUrl)){
redirectUrl="http://m.16lao.com";
}
}
if(redirectUrl!=""){
window.location.href = redirectUrl;
}
}
checkReqUrl();
</script>
于是真相就浮出水面了。
原来你家是判断UA里面的字符的,Android和iPhone也就罢了,Linux是个什么鬼?
这是鄙视Linux操作系统上网的家伙们么?