核心原理
手机站和PC站共用同一套数据库和后台程序,但使用不同的模板文件夹(通常是 /m/)来生成独立的移动端页面,通过绑定 m. 域名,我们可以让用户访问 m.yourdomain.com 时,服务器自动指向并展示 /m/ 目录下的移动端页面。

第一步:服务器端配置(关键)
这一步的目的是让服务器识别 m. 域名,并将所有请求指向到网站的 /m/ 目录,你需要根据你的服务器类型进行操作。
使用虚拟主机(最常见)
虚拟主机用户通常不需要自己配置服务器,而是在虚拟主机的控制面板中进行设置,主要有两种方法:
方法A:开启子目录绑定(推荐)
这是最简单、最推荐的方法,无需修改服务器配置文件。

-
登录你的虚拟主机控制面板(如万网、腾讯云、宝塔面板等)。
-
找到 “域名管理” 或 “子域名绑定” 功能。
-
添加一个新的子域名:
m,并将其指向你的网站根目录。 -
找到 “子目录绑定” 或 “快捷方式” 功能。
(图片来源网络,侵删) -
将
m.yourdomain.com这个子域名,绑定到网站的/m/目录上。- 注意:这里的
/m/是指相对于网站根目录的路径,如果你的移动端模板在/mobile/目录,就绑定到/mobile/。
- 注意:这里的
完成这一步后,服务器就已经配置好了,你可以直接跳到 第二步。
方法B:修改 .htaccess 文件
如果你的虚拟主机不支持子目录绑定,或者你更喜欢手动配置,可以通过修改网站根目录下的 .htaccess 文件来实现。
-
使用FTP或文件管理器,进入网站根目录。
-
找到并下载
.htaccess文件。 -
在文件的开头(
RewriteEngine On下面)添加以下代码:# 绑定 m.yourdomain.com 到子目录 m RewriteCond %{HTTP_HOST} ^m\.yourdomain\.com [NC] RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ /m/$1 [L,QSA]代码解释:
RewriteCond %{HTTP_HOST} ^m\.yourdomain\.com [NC]:如果访问的域名是m.yourdomain.com(不区分大小写)...RewriteCond %{REQUEST_URI} !^/m/:并且请求的路径不是以/m/开头(防止重定向死循环)...RewriteRule ^(.*)$ /m/$1 [L,QSA]:...那么将所有请求重写到/m/目录下。
-
将修改后的
.htaccess文件上传回网站根目录。
使用VPS或独立服务器(Nginx/Apache)
如果你有自己的服务器,需要手动修改配置文件。
对于 Nginx
编辑你的Nginx配置文件(通常在 /etc/nginx/sites-available/ 目录下),在对应域名的 server 块中添加:
server {
listen 80;
server_name m.yourdomain.com;
# 将所有请求指向 /m 目录
root /var/www/yourdomain.com; # 你的网站根目录
index index.php index.html;
location / {
try_files $uri $uri/ /m/$uri?$args; # 关键行
}
# ... 其他 location 配置,如处理PHP等
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据你的PHP版本修改
}
}
对于 Apache
编辑你的Apache虚拟主机配置文件(如 /etc/apache2/sites-enabled/000-default.conf),在对应域名的 <VirtualHost> 标签内添加:
<VirtualHost *:80>
ServerName m.yourdomain.com
DocumentRoot /var/www/yourdomain.com/m # 关键行:直接指定到移动端目录
<Directory /var/www/yourdomain.com/m>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# ... 其他配置
</VirtualHost>
配置完成后,记得重启你的Web服务器:
- Nginx:
sudo systemctl restart nginx - Apache:
sudo systemctl restart apache2
第二步:织梦后台设置
服务器配置完成后,需要告诉织梦系统,m. 域名是专门用于手机站的。
- 登录你的织梦CMS后台:
http://yourdomain.com/dede/ - 在左侧菜单栏中找到并点击 “系统” -> “系统基本参数”。
- 在右侧的 “核心设置” 选项卡中,找到 “手机版网址” 这一项。
- 将其值修改为你的手机站域名:
http://m.yourdomain.com/(注意要以 。 - 点击页面底部的 “保存” 按钮。
第三步:修改模板路径(非常重要)
这是最容易被忽略,但又至关重要的一步,默认情况下,织梦生成的页面中的资源路径(如CSS、JS、图片)是相对于PC站的,我们需要让手机站页面中的所有资源路径都指向 /m/ 目录。
-
登录织梦后台。
-
进入 “模板” -> “默认模板管理”。
-
选择你的 手机站模板(通常在
/m/目录下)。 -
对每个模板文件(如
index.htm,article_article.htm等)进行以下修改:- 找到
{dede:global.cfg_basehost/}这个全局标签,它代表网站的主域名。 - 将其修改为
{dede:global.cfg_mobileurl/},这个标签指向你在第二步中设置的“手机版网址”。 - 示例:
- 修改前:
<link rel="stylesheet" href="{dede:global.cfg_basehost/}/style/dedecms.css"> - 修改后:
<link rel="stylesheet" href="{dede:global.cfg_mobileurl/}/style/dedecms.css">
- 修改前:
- 找到
-
修改完所有手机站模板文件后,进入 “生成” -> “一键更新网站”。
- 勾选 “更新主页HTML” 和 “更新栏目HTML”。
- 勾选 “更新所有文档HTML”。
- 点击 “开始执行”,这一步会重新生成所有手机站页面,确保路径正确。
第四步:测试与验证
完成以上所有步骤后,就可以进行测试了。
- 域名访问测试:在浏览器地址栏输入
http://m.yourdomain.com,查看是否能正常显示手机站页面。 - 路径检查:
- 在手机站页面中,点击任意文章或栏目链接,确保跳转地址是
m.yourdomain.com/...而不是yourdomain.com/...。 - 使用浏览器的“开发者工具”(按F12),切换到“网络”(Network)或“元素”(Elements)标签,检查页面加载的CSS、JS、图片等文件的URL是否都正确指向了
m.yourdomain.com。
- 在手机站页面中,点击任意文章或栏目链接,确保跳转地址是
- 响应式测试:你也可以不绑定
m.域名,直接访问http://yourdomain.com/m/,通过浏览器的“设备模拟”功能(通常是F12里的一个小手机图标)来查看效果,如果这里正常,但绑定域名后不正常,那通常是第一步服务器配置的问题。
常见问题排查
-
问题1:绑定后访问404或显示的是PC站。
- 原因:服务器配置错误,没有正确将
m.域名指向/m/目录。 - 解决:请仔细检查第一步的配置,特别是虚拟主机的子目录绑定和
.htaccess文件。
- 原因:服务器配置错误,没有正确将
-
问题2:手机站页面样式错乱,图片加载不出来。
- 原因:模板中的资源路径没有修改,仍然指向PC站。
- 解决:请仔细检查第三步,确保所有手机站模板文件中的
{dede:global.cfg_basehost/}都已替换为{dede:global.cfg_mobileurl/},并重新生成页面。
-
问题3:PC站和手机站内容不同步。
- 原因:织梦手机站默认是调用PC站的数据,但模板不同,如果内容不同步,可能是调用标签写错了,或者后台没有勾选“生成手机版”。
- 解决:检查手机站模板中的文章列表、文章内容等标签是否正确,发布或更新文章时,在后台发布页面记得勾选 “生成HTML” 旁边的 “同时生成手机版” 选项。
按照以上步骤操作,你就可以成功地为织梦手机站绑定 m. 域名了,祝你顺利!
