dede手机站绑定域名,如何正确操作?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 DEDE建站 正文
  1. 配置服务器 (Nginx/Apache):让服务器知道手机域名的请求应该指向哪个网站目录。
  2. 修改 DedeCMS 配置:告诉 DedeCMS 系统使用哪个模板目录来渲染手机页面。
  3. 修改模板文件:确保手机模板文件存在,并且路径正确。

第一步:服务器环境配置

你需要根据你的服务器环境(Nginx 或 Apache)来选择对应的配置方法。

使用 Nginx 服务器 (推荐)

Nginx 的配置更灵活,通常使用 rewrite 规则来实现,假设你的主域名是 www.example.com,手机域名是 m.example.com

  1. 登录你的服务器,找到 Nginx 的配置文件,通常位于 /etc/nginx/sites-available/ 目录下,找到你对应站点的配置文件(example.com)。

  2. 编辑配置文件,在 server 块中添加如下 server 块,这个新的 server 块专门用来处理 m.example.com 的请求,并将其重写到主站点的根目录,同时设置一个变量来标识这是手机访问。

# 在原有的 server 块之前或之后,添加一个新的 server 块
server {
    listen 80;
    server_name m.example.com; # 你的手机域名
    # 将所有请求重写到主站点根目录,并设置 HTTP 头
    rewrite ^(.*)$ https://www.example.com$1 last;
    # 或者如果你想直接代理到主站点的目录,可以这样写(更推荐):
    # rewrite ^(.*)$ /$1 last; # 将请求重写到当前目录的相同路径
    # set $mobile "1"; # 设置一个变量,DedeCMS 会用到
    # 确保指向你网站的根目录,和主站点一样
    root /var/www/html/example.com; # 替换成你的网站根目录
    index index.php index.html;
    # 其他 location 配置(如处理 .php 文件)可以和主站点共用或复制过来
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据你的 PHP 版本修改
    }
}

更简洁的写法(推荐):

这种方式更简单,直接将手机域名指向主站点的物理目录,然后由 DedeCMS 的 PHP 代码来处理判断。

server {
    listen 80;
    server_name m.example.com;
    # 直接指向主站的根目录
    root /var/www/html/example.com;
    index index.php index.html;
    location / {
        # 这里不做 rewrite,让 PHP 去处理
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
}
  1. 保存配置文件,然后检查 Nginx 配置是否正确:
    nginx -t

    如果显示 syntax is oktest is successful,则执行以下命令重新加载 Nginx:

    systemctl reload nginx

使用 Apache 服务器

Apache 的配置通常使用 .htaccess 文件,非常方便。

  1. 登录你的服务器,进入你网站根目录,找到 .htaccess 文件。

  2. 编辑 .htaccess 文件,在文件顶部添加以下规则,这段代码会检测 HTTP_HOST 是否为你的手机域名,如果是,则设置一个环境变量 HTTP_MOBILE1

# 在 RewriteEngine On 下面添加
# 检测是否是手机域名访问
RewriteCond %{HTTP_HOST} ^m\.example\.com [NC]
RewriteRule .* - [E=HTTP_MOBILE:1]
  1. 保存 .htaccess 文件,Apache 通常会自动加载,无需重启。

第二步:修改 DedeCMS 后台配置

现在服务器已经知道手机域名的请求了,接下来告诉 DedeCMS 系统如何响应。

  1. 登录 DedeCMS 后台 (www.example.com/dede/)。

  2. 进入 系统 -> 系统基本参数 -> 核心设置

  3. 找到以下几个关键选项并进行修改:

    • 手机版网址

      • 选项cfg_mobileurl
      • 操作:修改它的值为你的手机域名,http://m.example.com
      • 作用:用于生成手机站链接时使用。
    • 是否开启手机站

      • 选项cfg_mobile_site
      • 操作:选择 “是”。
      • 作用:这是开启手机站功能的总开关。
    • 手机模板目录

      • 选项cfg_mobile_dir
      • 操作:保持默认值 或者你的手机模板所在的目录,/m
      • 重要:这个值指向的是你手机模板文件在服务器上的相对路径,如果你的手机模板文件在 /templets/mobile/ 目录下,这里就填 /mobile
    • 手机网站首页文件名

      • 选项cfg_mobile_index
      • 操作:保持默认 index.htm
      • 作用:手机站生成首页后的文件名。
  4. 点击“保存更改”


第三步:检查和生成手机站模板

确保你的手机站模板已经准备好。

  1. 模板目录

    • 默认情况下,DedeCMS 的手机模板位于 /templets/default/ 目录下,如果你使用了新的模板,请确保它们被放置在正确的目录(你在 cfg_mobile_dir 中设置的目录)。
  2. 首页模板

    • 确保手机模板目录下有一个 index.htm 文件,这是手机站的首页模板。
  3. 生成首页

    • 进入 DedeCMS 后台的 生成 -> 主页生成
    • 你会看到多了一个选项卡 “仅动态主页”“更新主页HTML”,选择 “更新主页HTML”,然后点击“生成”按钮。
    • 这一步会根据你刚才配置的手机模板,在网站根目录下生成 index.html 文件(文件名由 cfg_mobile_index 决定)。
  4. 检查栏目和文章页

    • 进入 频道管理,编辑每个栏目,在“栏目选项”中设置“列表模板”、“文章列表模板”和“文章内容模板”为对应的手机模板文件(list_mobile.htm, article_mobile.htm)。
    • 为每个栏目生成一次HTML,确保手机端的栏目和文章页也能正常访问。

第四步:最终测试

完成以上所有步骤后,进行最终测试。

  1. 清除浏览器缓存 或使用无痕模式。
  2. 在电脑浏览器地址栏输入你的手机域名 http://m.example.com,看看是否能正确显示手机站首页。
  3. 使用手机访问 http://m.example.com,确认显示正常。
  4. 点击手机站上的栏目链接和文章链接,检查是否能跳转到对应的手机页面。

常见问题排查

  • 问题:访问手机域名,显示的是电脑站首页。

    • 原因:可能是服务器配置错误,或者 DedeCMS 后台的 cfg_mobile_site 没有开启。
    • 解决:检查 Nginx/Apache 配置,确保请求被正确处理,检查后台参数设置。
  • 问题:访问手机域名,显示 404 Not Found。

    • 原因:服务器配置的 root 目录不正确,或者 index 文件不存在。
    • 解决:检查服务器配置文件中的网站根目录路径是否正确,确保你已经生成了手机站首页 index.html
  • 问题:手机站样式错乱,图片路径不正确。

    • 原因:模板文件中的静态资源(CSS, JS, 图片)路径使用了绝对路径 ,导致指向了主域名。
    • 解决:在手机模板中,将所有静态资源的路径修改为相对路径 或使用 {dede:global.cfg_cmsurl/} 标签来动态获取CMS路径。

通过以上四个步骤,你就可以成功地为你的 DedeCMS 站点绑定一个独立的手机域名了。

-- 展开阅读全文 --
头像
织梦CMS如何适配HTML5?
« 上一篇 02-15
dede 多个文章模板下载
下一篇 » 02-15

相关文章

取消
微信二维码
支付宝二维码

目录[+]