最近由于项目需要,将自定义单页设置为网站首页,测试过程中一直发现手机版无法访问,被强制跳转到了forum.php?mobile=yes页面。
仔细查看了一下Discuz!代码:
source/class/discuz/discuz_application.php
if(strpos($this->var['setting']['domain']['defaultindex'], CURSCRIPT) !== false && CURSCRIPT != 'forum' && !$_GET['mod']) {
if($this->var['setting']['domain']['app']['mobile']) {
$mobileurl = 'http://'.$this->var['setting']['domain']['app']['mobile'];
} else {
if($this->var['setting']['domain']['app']['forum']) {
$mobileurl = 'http://'.$this->var['setting']['domain']['app']['forum'].'?mobile=yes';
} else {
$mobileurl = $this->var['siteurl'].'forum.php?mobile=yes';
}
}
dheader("location:$mobileurl");
}
原来是Discuz!设计的时候,考虑到很多页面,如门户、插件,是没有手机页面的,设置成首页会无法访问,所以在这里给做了强制跳转。这应该是很多年前的设计了,当时手机版也不是很流行,但是现在不一样了,绝大部分站长各个页面都有手机版页面了,因此如果站长发现自定义首页手机版出现自动跳转,可以将上面的几行代码删除,就可以正常访问了!