核心原理
这个操作主要分为两部分:

(图片来源网络,侵删)
- 服务器端配置:告诉服务器,当用户访问
m.yourdomain.com时,将请求指向网站根目录下的m/文件夹,这通常通过 虚拟主机 或 Nginx/Apache 配置 来实现。 - 织梦CMS配置:告诉织梦程序,
m文件夹是它的“家”,并启用移动端模板。
第一步:服务器端配置(将域名指向 m 文件夹)
这是最关键的一步,您的操作取决于您的服务器环境:虚拟主机控制面板、VPS/独立服务器。
使用虚拟主机(最常见)
大多数虚拟主机服务商(如阿里云、腾讯云、西部数码等)都提供了一个控制面板来管理域名。
-
登录您的虚拟主机控制面板。
-
找到 “域名绑定”、“域名管理” 或类似的入口。
(图片来源网络,侵删) -
在绑定列表中,找到您准备用来做手机端的域名(
m.yourdomain.com)。 -
修改其“网站目录”或“访问路径”。
- 默认值: (表示指向网站根目录)
- 您需要修改为:
/m(表示指向网站根目录下的m文件夹)
-
保存设置,服务器通常需要几分钟到几小时来生效,大部分是实时生效的。
注意:请确保您的虚拟主机套餐支持绑定子域名,几乎所有套餐都支持。

(图片来源网络,侵删)
使用 VPS/独立服务器(自己管理 Nginx 或 Apache)
如果您是自己管理服务器,需要手动修改配置文件。
对于 Nginx
- 编辑您的 Nginx 配置文件,通常在
/etc/nginx/sites-available/目录下。 - 找到或创建
m.yourdomain.com的server块。 - 修改
root指令,将其指向/path/to/your/website/m。
配置示例:
# PC端域名配置 (www.yourdomain.com)
server {
listen 80;
server_name www.yourdomain.com yourdomain.com;
root /path/to/your/website; # 指向网站根目录
index index.php index.html;
# ... 其他PC端配置 ...
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 手机端域名配置 (m.yourdomain.com)
server {
listen 80;
server_name m.yourdomain.com;
root /path/to/your/website/m; # 【关键】指向 m 文件夹
index index.php index.html;
# ... 其他手机端配置 ...
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 保存文件后,检查 Nginx 配置语法并重启服务:
sudo nginx -t sudo systemctl restart nginx
对于 Apache
- 编辑您的 Apache 虚拟主机配置文件,通常在
/etc/apache2/sites-available/目录下。 - 找到或创建
m.yourdomain.com的<VirtualHost>块。 - 修改
DocumentRoot指令,将其指向/path/to/your/website/m。
配置示例:
# PC端域名配置 (www.yourdomain.com)
<VirtualHost *:80>
ServerName www.yourdomain.com
ServerAlias yourdomain.com
DocumentRoot /path/to/your/website # 指向网站根目录
# ... 其他PC端配置 ...
</VirtualHost>
# 手机端域名配置 (m.yourdomain.com)
<VirtualHost *:80>
ServerName m.yourdomain.com
DocumentRoot /path/to/your/website/m # 【关键】指向 m 文件夹
# ... 其他手机端配置 ...
</VirtualHost>
- 保存文件后,启用站点并重启 Apache 服务:
sudo a2ensite your-config-file.conf sudo systemctl restart apache2
第二步:织梦CMS后台配置
当服务器配置完成后,访问 m.yourdomain.com 应该能看到网站了,但此时它可能还是PC端的模板,我们需要在织梦后台进行设置。
-
登录织梦DedeCMS后台 (
/dede/)。 -
开启并设置移动端:
- 在左侧菜单中找到 “系统” -> “系统基本参数”。
- 在弹出的页面中,切换到 “核心设置” 选项卡。
- 找到 “是否开启手机站” 选项,将其修改为 “是”。
- 在 “手机网站根目录” 选项中,确保路径是
/m/,织梦在开启手机站时会自动创建这个文件夹,但确认一下总没错。 - 在 “手机网站默认模板目录” 选项中,填写您的移动端模板目录,
default或mobile,这取决于您存放移动端模板的文件夹名。
-
设置移动端模板:
- 在左侧菜单中找到 “模板” -> “手机模板设置”。
- 您可以为首页、列表页、文章页等分别选择对应的移动端模板文件(
.htm文件)。 - 确保您选择的模板文件位于您上一步设置的“手机网站默认模板目录”中。
-
生成移动端页面:
- 完成模板选择后,点击页面底部的 “更新” 或 “生成” 按钮。
- 建议选择 “首页”、“栏目” 和 “文档” 全部生成一遍,以确保所有移动端页面都正确生成了。
第三步:移动端跳转设置(可选但推荐)
为了更好的用户体验和SEO,通常希望用户在PC上访问时,能自动跳转到移动端页面(反之亦然),这需要修改网站根目录下的 index.php 文件。
-
备份
index.php:在进行任何修改前,请务必备份网站根目录下的index.php。 -
修改
index.php:在文件的最顶部(<?php之后),添加以下PHP跳转代码:<?php // 跳转代码开始 if (isset($_SERVER['HTTP_HOST']) && isset($_SERVER['REQUEST_URI'])) { $http_host = $_SERVER['HTTP_HOST']; $request_uri = $_SERVER['REQUEST_URI']; // 如果当前是PC端域名访问 if ($http_host == 'www.yourdomain.com' || $http_host == 'yourdomain.com') { // 检测是否为移动设备 if (isMobile()) { // 跳转到移动端域名,并带上当前路径 header('Location: http://m.yourdomain.com' . $request_uri); exit; } } } // 判断是否为移动设备的函数 function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; } // 跳转代码结束 // ... 下面是织梦 index.php 原来的代码 ... require_once (dirname(__FILE__) . "/include/common.inc.php"); require_once DEDEINC."/arc.partview.class.php"; $GLOBALS['_arEnv']['is_mobile'] = isMobile(); $pv = new PartView(); $pv->SetTemplet($cfg_basedir . $cfg_templeturl . '/index.htm'); $pv->Display(); ?>注意:请将代码中的
www.yourdomain.com和m.yourdomain.com替换成您自己的域名。
总结与检查清单
完成以上步骤后,您的手机站就配置好了,请按以下清单检查:
- [ ] 服务器配置:
m.yourdomain.com的网站目录已正确指向/m。 - [ ] 织梦后台:已开启手机站,并设置了正确的根目录和模板目录。
- [ ] 织梦模板:已为移动端设置了对应的
.htm模板文件。 - [ ] 页面生成:已在后台生成了所有移动端页面。
- [ ] 跳转功能:(可选)已添加PC/移动端自动跳转代码。
- [ ] 最终测试:
- 用手机访问
m.yourdomain.com,查看是否为移动端样式。 - 用电脑浏览器访问
m.yourdomain.com,查看是否为移动端样式。 - 用手机访问
www.yourdomain.com,检查是否自动跳转到m.yourdomain.com。 - 用电脑访问
www.yourdomain.com,检查是否保持在PC端页面。
- 用手机访问
祝您配置顺利!
