phpcms 启用手机门户(自动判断手机浏览器)
清泛原创
1、确定一个域名作为你手机wap站点的访问域名,例如:http://m.xxx.com 。接下来在域名管理系统中简析这个域名到你的服务器地址。
2、修改\caches\configs\route.php 文件,增加手机路由地址,方法如下:
return array(
'default'=array('m'='content', 'c'='index', 'a'='init'),
'm.xxx.com'=array('m'='wap', 'c'='index', 'a'='init'),
);
3、到phpcms后台,模块-》手机门户-》修改 配置相关信息
4、然后分类管理里添加分类。
5、最后开启,刷新缓存,确认域名生效后就ok了。
------------------------------------------------------------------
每个步骤都按要求操作了,还是跳转电脑版???
此时可以试试m.xx.com/index.php是否可以正常访问wap页面,若可以说明wap功能正常启用,只是没有自动转向index.php引导其跳转。
1. m.xx.com是否正确指向程序目录。
2.手机网站需要index.php作为引导,可以在主机控制面板里添加index索引次序,index.php应优于index.html。
另外也可以在手机模板中添加如下js解决:
<script>
try{if(self.location='http://m.xx.com'){
top.location.href='http://m.xx.com/index.php';
}}catch(e){}
</script>
-----------------------------------------------------------
上述这种,虽然开启了手机访问,但是不支持自动识别,自动跳转。相当上述,只是把域名绑定到wap手机模版。
下面介绍自动识别,自动跳转:
网站主页添加:
<script>
function GetQueryString(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
/* 智能机浏览器版本信息 */
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
} (),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (GetQueryString('from') != 'mobile' && browser.versions.mobile)
window.location.href = "https://www.tsingfun.com/index.php?m=wap";
</script>