核心思路
整个流程的核心思想是:

- 创建移动模板:在PC模板的基础上,创建一套专门用于移动端的模板文件。
- 配置移动站点:在织梦后台设置移动站点的域名、模板路径和默认跳转规则。
- 修改PC模板:在PC模板的
</head>标签前,添加一段JS代码,用于检测用户设备并自动跳转到移动站。 - 配置服务器:设置服务器的伪静态规则,确保移动站点的URL能被正确解析(
http://www.yoursite.com/m/)。
详细操作步骤
第一步:准备移动端模板
-
复制PC模板: 进入织梦后台的【模板】->【默认模板管理】,找到你当前PC站正在使用的模板文件夹(
/default/)。 将这个文件夹完整复制一份,并重命名为一个新名字,/m/或/mobile/,这里我们以/m/为例。 -
修改模板内容: 进入新创建的
/m/模板文件夹,你需要修改里面的模板文件,使其更适合移动端显示,主要修改包括:- 简化CSS:移除PC端复杂的样式,使用移动端友好的CSS框架(如Amaze UI、Bootstrap等)或精简的样式。
- 调整图片:将大尺寸的图片替换为小尺寸的、适合移动端加载的图片。
- 优化布局:采用单栏或更简洁的布局,优化触摸点击区域。
- 调用标签:确保织梦的调用标签(如
{dede:arclist})在移动端模板中依然正常工作。
关键点:移动端的首页模板通常是
index.htm,列表页是list_article.htm,文章页是article_article.htm等,确保这些文件都已准备好。
第二步:在织梦后台配置移动站点
-
登录后台:进入你的织梦CMS后台管理界面。
(图片来源网络,侵删) -
找到设置选项:在左侧菜单栏,找到并点击【系统】->【系统基本参数】。
-
切换到“其他选项”:在顶部导航栏中,点击“其他选项”选项卡。
-
填写移动站点信息:在“移动站点设置”这一栏,填入以下信息:
- 移动站点域名:填入你为移动站准备的域名,如果你还没有独立的移动域名,可以暂时填入
http://www.yoursite.com/m/(将www.yoursite.com替换成你自己的域名)。这个值非常重要,JS跳转会用到它。 - 移动端默认模板目录:填入你上一步创建的移动模板目录名,即
m。 - 手机访问自动跳转:选择“是”。(这一步我们稍后会在模板中手动实现,但在这里开启也无妨)。
- WAP模板存放目录:这个一般会自动填写,保持默认即可。
- 移动站点域名:填入你为移动站准备的域名,如果你还没有独立的移动域名,可以暂时填入
-
保存设置:点击页面底部的“保存”按钮。
(图片来源网络,侵删)
第三步:修改PC模板,添加设备跳转代码
这是实现自动跳转的核心步骤,你需要为你的PC站首页模板(通常是 /default/index.htm)添加一段JavaScript代码。
- 打开PC首页模板:在【模板】->【默认模板管理】中,打开你的PC首页模板文件
index.htm。 - 添加JS代码:在文件的
<head>和</head>标签之间,插入以下代码:
<script type="text/javascript">
// 检测设备,并跳转到移动站
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
// 如果是移动设备,跳转到移动站
// 这里的 "http://www.yoursite.com/m/" 需要替换成你自己的移动站地址
window.location.href = "http://www.yoursite.com/m/";
}
}
// 页面加载完成后执行检测
browserRedirect();
</script>
代码说明:
- 这段JS代码会检测访问者的浏览器User-Agent。
- 如果检测到是手机、平板等移动设备,就会自动将页面跳转到你在第二步中设置的移动站点URL。
- 请务必将代码中的
http://www.yoursite.com/m/替换成你自己的移动站地址。
- 更新首页:保存并更新
index.htm模板,你可以去【生成】->【更新主页】来更新网站首页。
第四步:配置服务器伪静态
为了让 http://www.yoursite.com/m/ 这样的URL能够正常工作,并且美观,你需要配置服务器的伪静态规则。
为什么需要这一步?
织梦的移动站默认会生成类似 http://www.yoursite.com/m/plus/view.php?aid=123 这样的URL,伪静态规则可以将它美化成 http://www.yoursite.com/m/plus/view-123.html,更利于SEO和用户体验。
请根据你的服务器类型选择对应的规则:
Apache服务器
编辑你的网站根目录下的 .htaccess 文件(如果没有就新建一个),在文件中添加以下规则:
# 织梦移动站伪静态规则 RewriteRule ^m/plus/list-([0-9]+)\.html$ /m/plus/list.php?tid=$1 RewriteRule ^m/plus/view-([0-9]+)-([0-9]+)\.html$ /m/plus/view.php?aid=$1&pageno=$2 RewriteRule ^m/plus/view-([0-9]+)\.html$ /m/plus/view.php?aid=$1
Nginx服务器
编辑你的Nginx配置文件(通常在 /usr/local/nginx/conf/vhost/你的域名.conf),在 server 块中添加以下规则:
# 织梦移动站伪静态规则
location ~* ^/m/plus/list-([0-9]+)\.html$ {
rewrite "^/m/plus/list-([0-9]+)\.html$" /m/plus/list.php?tid=$1 last;
}
location ~* ^/m/plus/view-([0-9]+)-([0-9]+)\.html$ {
rewrite "^/m/plus/view-([0-9]+)-([0-9]+)\.html$" /m/plus/view.php?aid=$1&pageno=$2 last;
}
location ~* ^/m/plus/view-([0-9]+)\.html$ {
rewrite "^/m/plus/view-([0-9]+)\.html$" /m/plus/view.php?aid=$1 last;
}
配置完成后,重启你的Web服务器(Apache或Nginx)使配置生效。
第五步:测试与验证
所有配置都已完成,让我们来验证一下:
-
PC端测试:
- 在电脑浏览器中打开你的网站首页。
- 按下
F12打开开发者工具,点击模拟设备图标(通常是一个手机或平板的图标)。 - 选择一个移动设备(如 iPhone X)进行模拟。
- 页面应该会自动跳转到
http://www.yoursite.com/m/,并且显示的是你准备的移动端模板。
-
移动端测试:
- 在你的手机浏览器中输入你的PC网站域名(
http://www.yoursite.com)。 - 页面应该会自动跳转到
http://www.yoursite.com/m/。 - 检查移动站的列表页、文章页等页面,URL是否已经伪静态成功,样式是否正常。
- 在你的手机浏览器中输入你的PC网站域名(
常见问题与解决方案
-
Q: 跳转后样式错乱,或者调用的内容不正确?
- A: 请检查【系统基本参数】->【其他选项】中的“移动端默认模板目录”是否填写正确,确保指向你创建的
/m/文件夹,同时检查/m/文件夹内的模板文件是否完整且调用标签无误。
- A: 请检查【系统基本参数】->【其他选项】中的“移动端默认模板目录”是否填写正确,确保指向你创建的
-
Q: 伪静态不生效,打开移动站文章页还是
view.php?aid=xxx?- A: 请检查你的服务器伪静态规则是否添加正确,并且服务器是否已重启,如果是虚拟主机,请联系你的主机商确认是否支持伪静态以及如何配置。
-
Q: 我想用二级域名(如
m.yoursite.com)而不是m目录,怎么办?- A: 流程基本一致,主要区别在于:
- 你需要先解析并配置好二级域名
m.yoursite.com指向你的服务器IP。 - 在【系统基本参数】->【其他选项】中,“移动站点域名”填写
http://m.yoursite.com。 - 修改PC模板里的JS代码,将跳转地址改为
http://m.yoursite.com。 - 伪静态规则也需要相应调整,去掉
/m/这个路径前缀。
- 你需要先解析并配置好二级域名
- A: 流程基本一致,主要区别在于:
按照以上步骤操作,你就可以成功地为你的织梦CMS网站绑定一个 m 目录的移动站了。
