虽然这份教程发布于2025年,但其核心原理和搭建步骤对于理解DedeCms手机站的构建方式依然非常经典。请注意,随着DedeCms版本的更新和新技术的出现,官方可能推出了更便捷的方案(如DedeCms V5.7+ 自带的手机站功能),但本教程讲解的“独立手机站+PC站”的思路,对于理解网站移动化适配和保持老项目稳定运行非常有价值。

DedeCms织梦手机站搭建详细教程 (2025版)
本教程将指导你如何为你的DedeCms 5.7/5.8 PC网站,搭建一个独立的、响应式的手机站,主要采用 “独立域名 + 响应式模板” 的方案,这是当时最主流、效果最好的做法。
准备工作
- 服务器环境:确保你的服务器支持 伪静态,这是手机站正常工作的关键,因为我们需要将所有移动端请求(如
m.yourdomain.com)都指向一个入口文件m/index.php。 - 域名准备:
- 主域名:
yourdomain.com(你的PC站域名) - 手机域名:
m.yourdomain.com(用于访问手机站)
- 主域名:
- 软件工具:
- FTP工具 (如 FileZilla)
- 代码编辑器 (如 Dreamweaver, Sublime Text, VS Code)
- DedeCms程序包 (本教程以DedeCms 5.7 SP2为例)
核心步骤详解
第1步:创建手机站目录和入口文件
-
创建目录: 通过FTP登录你的网站根目录,创建一个名为
m的新文件夹,这个文件夹将专门用于存放手机站的文件。 -
复制文件:
- 将PC站根目录下的
index.php文件复制到m文件夹中。 - 将PC站根目录下的
dede文件夹(后台管理目录)复制到m文件夹中。
- 将PC站根目录下的
-
修改手机站入口文件
m/index.php: 用代码编辑器打开m/index.php文件,找到下面这行代码:
(图片来源网络,侵删)require_once (dirname(__FILE__) . "/include/common.inc.php");
在它后面,紧跟着 添加一行代码,用于设置手机站的默认模板风格:
// 设置手机站默认模板 $cfg_m_defaultstyle = 'm'; // 'm' 是我们即将创建的模板目录名
修改后的
m/index.php文件开头部分应该是这样的:<?php require_once (dirname(__FILE__) . "/include/common.inc.php"); // 设置手机站默认模板 $cfg_m_defaultstyle = 'm'; if(!isset($cfg_cmspath)) { $cfg_cmspath = $cfg_m_cmspath; } ...
第2步:配置PC站,支持手机域名跳转
为了让用户在PC上访问 m.yourdomain.com 时也能正常浏览,我们需要在PC站的入口文件 index.php 中添加一段代码,实现“移动设备访问时跳转到手机站”的功能。
打开PC站根目录下的 index.php 文件,在 require_once (dirname(__FILE__) . "/include/common.inc.php"); 这行代码之前,添加如下PHP代码:

<?php
// 手机站跳转判断
if(isset($_GET['mobile'])){
setcookie('mobile', '1', 3600);
}
if(isset($_COOKIE['mobile']) || $_GET['mobile']=='yes'){
$murl = 'http://m.yourdomain.com'.urlencode($_SERVER['REQUEST_URI']);
if(!strstr($_SERVER['HTTP_USER_AGENT'], 'iPad')){
header("Location: $murl");
exit;
}
}
require_once (dirname(__FILE__) . "/include/common.inc.php");
...
代码解释:
- 这段代码会检测用户的浏览器
User-Agent,如果判断是手机设备(非iPad,因为iPad通常被视为PC浏览),并且用户没有主动关闭跳转,就会自动将用户重定向到m.yourdomain.com。 http://m.yourdomain.com请替换成你自己的手机域名。
第3步:创建手机站数据库
手机站可以复用PC站的数据库,也可以新建一个独立的数据库,为了数据同步和管理的方便,强烈建议复用同一个数据库。
第4步:安装手机站后台
- 访问你的手机站后台地址:
http://m.yourdomain.com/dede/ - 你会看到DedeCms的安装界面,按照提示进行操作。
- 关键步骤 - 数据库配置:
- 数据库名、数据库用户名、数据库密码:填写与PC站完全相同的信息。
- 数据库前缀:非常重要! 为了避免与PC站的表冲突,请修改一个前缀,例如PC站是
dede_,手机站可以设置为dedem_。
- 完成安装后,删除
m/dede/install目录以保证安全。
第5步:修改手机站配置文件
安装完成后,需要修改手机站的配置文件,使其与PC站关联。
-
修改
m/include/config_base.php: 打开此文件,找到数据库连接信息部分,确保与PC站include/config_base.php中的信息一致,特别是数据库名和用户名。 -
修改
m/include/common.inc.php: 这是最关键的一步,用于同步PC站的数据。- 找到
//获得当前站点路径相关代码段。 - 将
$cfg_plus_dir等变量的路径,从 修改为 (通常默认是正确的,但需要确认)。 - 核心代码:在文件中找到
require_once(DEDEROOT.'/dede/sys_cache_up.php');这类代码,确保它能够正确加载PC站的系统缓存,通常默认配置即可,无需大改。
- 找到
第6步:创建手机站模板
这是手机站的核心,决定了它的外观和体验。
-
创建模板目录: 在PC站的
/templets/目录下,创建一个新文件夹,命名为m,这个m文件夹就是专门用来存放手机站模板的。 -
复制并修改模板文件:
- 首页:复制PC站模板文件夹(如
default)下的index.htm,粘贴到m文件夹中,然后打开它,删除所有PC端特有的复杂结构和广告,只保留核心内容,并使用响应式CSS或移动端专用的CSS进行美化。 - 列表页/内容页:同样地,复制
list_article.htm,article_article.htm等文件到m文件夹,并进行精简和美化。 - CSS和JS:将移动端专用的CSS文件和JS文件放在
m文件夹下,或者在PC站的CSS/JS目录中创建移动端版本。
- 首页:复制PC站模板文件夹(如
-
实现响应式(推荐): 更好的做法是只创建一套模板,通过CSS媒体查询来实现响应式。
-
在你的CSS文件中添加如下代码:
/* 默认样式,针对手机 */ body { font-size: 16px; } /* 当屏幕宽度大于等于640px时(平板或PC) */ @media screen and (min-width: 640px) { body { font-size: 18px; } .header { width: 960px; margin: 0 auto; } }这样,同一套模板就能在不同设备上自适应显示。
-
第7步:设置后台并生成手机站
- 登录手机站后台:
http://m.yourdomain.com/dede/ - 系统 -> 站点参数设置:
- 站点路径:设置为
- 站点名称:设置为你的手机站名称,如“XX网手机版”
- 主页链接:设置为
http://m.yourdomain.com/
- 系统 -> 图片设置:
将“目录默认存路径”等选项,确保与PC站一致,或者设置为手机站专用的路径。
- 核心 -> 频道模型 -> 内容模型管理:
确保文章、图集等模型已经启用。
- 核心 -> 频道管理:
- 检查手机站的栏目设置是否正确,特别是“列表模板”和“文章模板”是否指向了你刚刚创建的
m目录下的模板文件(如m/index.htm)。
- 检查手机站的栏目设置是否正确,特别是“列表模板”和“文章模板”是否指向了你刚刚创建的
- 生成 -> 一键更新网站:
- 这是最后一步,也是最重要的一步!
- 依次选择“更新主页HTML”、“更新栏目HTML”、“更新文档HTML”。
- 务必勾选“选择所有栏目”,确保所有内容都被正确生成到手机站目录中。
第8步:配置伪静态
为了让手机站的URL更美观(如 http://m.yourdomain.com/a/1.html 而不是 http://m.yourdomain.com/plus/view.php?aid=1),必须配置伪静态。
-
登录PC站后台:
http://yourdomain.com/dede/ -
系统 -> 系统基本参数 -> 核心设置:
找到“是否使用伪静态”,选择“是”。
-
上传伪静态规则文件:
-
Apache:将
rewrite/m.htaccess文件(在DedeCms安装包的data/目录下)上传到你的m站点根目录。 -
Nginx:在Nginx的配置文件中,为你的手机站域名
m.yourdomain.com添加如下location块:server { listen 80; server_name m.yourdomain.com; index index.php index.html; root /path/to/your/m; // 你的m站点根目录绝对路径 # 伪静态规则 location / { rewrite "^/index\.html$" /index.php last; rewrite "^/list_([0-9]+)\.html$" /plus/list.php?tid=$1 last; rewrite "^/list_([0-9]+)_([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2 last; rewrite "^/view_([0-9]+)\.html$" /plus/view.php?aid=$1 last; rewrite "^/view_([0-9]+)_([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }修改后,重启Nginx服务。
-
常见问题与注意事项
-
Q: 为什么手机站打开是空白页?
- A: 检查
m/index.php文件是否正确添加了$cfg_m_defaultstyle = 'm';这行代码,检查m/include/common.inc.php中的数据库连接和路径配置是否正确。
- A: 检查
-
Q: 为什么手机站样式错乱?
- A: 检查模板文件中引用的CSS和JS路径是否正确,确保在移动端模板中引用的是移动端专用的样式文件。
-
Q: 为什么PC站无法跳转到手机站?
- A: 检查PC站
index.php中的跳转代码是否添加正确,特别是手机域名http://m.yourdomain.com是否写对,检查服务器是否支持并开启了伪静态。
- A: 检查PC站
-
Q: 数据如何同步?
- A: 因为我们用的是同一个数据库,所以你在PC站后台发布的文章,在手机站后台的“内容管理”里也能看到,手机站生成的页面会调用这些数据,但两个后台是独立的,需要分别登录管理。
-
重要提醒:本教程基于2025年的DedeCms版本,如果你现在搭建新站,建议直接使用DedeCms V5.7.19或更高版本,它内置了更完善的手机站功能,操作会更简单,但对于维护老项目,本教程依然是宝贵的参考资料。
