使用加速乐开启CDN缓存后,页面不能正常跳转到移动端

由于开启CDN缓存后,用户请求将不会到达网站服务器,而是从节点就近返回。这就会造成服务器代码中的一些逻辑判断不再产生作用。所以一般缓存主要应用于静态资源,即不变的内容页面。

但在实际应用中,部分网站在相关页面会将内容跳转到移动页面,判断比较简单。遇到这种情况,通常在开启缓存的情况下,可以将这部分判断逻辑以javascript的方式执行。

比如,将下述代码加下用户入口页面的HTML <HEAD>区域中,即会判断到如果访客是移动端,将自动跳转到”/m/“网址下:

<script>
(function(){var winLoc=window.location,winSer=winLoc.search,u=navigator.userAgent;if(winSer.indexOf(‘?m=true’)===-1&&winSer.indexOf(‘&m=true’)===-1){if(u.match(/Mobile/)&&(u.match(/Android/)||u.match(/iPhone/)||u.match(/iPad/))){winLoc.pathname=’/m/‘}}})();
</script>