最近由于項目需要,將自定義單頁設置為網站首頁,測試過程中一直發現手機版無法訪問,被強制跳轉到了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!設計的時候,考慮到很多頁面,如門戶、插件,是沒有手機頁面的,設置成首頁會無法訪問,所以在這里給做了強制跳轉。這應該是很多年前的設計了,當時手機版也不是很流行,但是現在不一樣了,絕大部分站長各個頁面都有手機版頁面了,因此如果站長發現自定義首頁手機版出現自動跳轉,可以將上面的幾行代碼刪除,就可以正常訪問了!