织梦CMS如何实现自动跳转手机版?

99ANYc3cd6
预计阅读时长 26 分钟
位置: 首页 织梦建站 正文

使用织梦自带的移动域名跳转功能(最推荐)

这是织梦CMS官方提供的、最标准也是最稳定的解决方案,它通过在后台设置,自动生成相应的跳转代码,无需手动修改文件。

织梦cms 跳转手机版
(图片来源网络,侵删)

适用场景: 你拥有一个独立的手机版域名(m.yoursite.com)。

操作步骤:

  1. 登录织梦后台:使用你的管理员账号登录 dede 目录。

  2. 进入系统基本参数设置

    织梦cms 跳转手机版
    (图片来源网络,侵删)
    • 在后台左侧菜单中,找到 【系统】 -> 【系统基本参数】
  3. 设置移动站点信息

    • 在“系统基本参数”页面,切换到 【核心设置】 选项卡。
    • 找到 【手机版网址】 这一栏,输入你手机站点的完整域名,https://m.yoursite.com
    • 重要:请务必填写完整的 http://https:// 开头的域名。
  4. 生成并跳转代码

    • 保存设置后,织梦会自动在根目录生成一个名为 mip.php 的文件(如果使用MIP协议)或 mobile.php 的文件(普通手机站)。
    • 你需要将以下代码添加到你电脑版网站首页的 <head> 标签内
    <head>
    <meta http-equiv="mobile-agent" content="format=xhtml; url={dede:global.cfg_mobileurl/}/">
    <!-- 或者使用下面这个,如果MIP协议开启的话 -->
    <!-- <meta http-equiv="mobile-agent" content="format=xhtml; url={dede:global.cfg_mipurl/}/"> -->
    ...其他head内容...
    </head>
    • 代码解释
      • {dede:global.cfg_mobileurl/} 是织梦的一个全局变量,它会自动读取你在第3步中设置的【手机版网址】。
      • 这段代码的作用是告诉搜索引擎和移动设备浏览器,如果检测到是移动设备访问,请自动跳转到 {cfg_mobileurl} 指定的地址。
  5. (可选)设置PC端访问手机版域名的跳回

    • 为了让用户在手机上也能方便地切换回电脑版,你可以在手机站的首页(通常是 m 目录下的 index.php)的 <head> 标签内也加入一段跳转代码。
    • 这段代码用于检测,如果用户是通过手机访问,但URL却是电脑版的域名,则自动跳转到手机版域名。
    <head>
    <script type="text/javascript">
    if(window.location.toString().indexOf('pref=padindex') != -1){}else{
        if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
            if(window.location.href.indexOf("?mobile")<0){
                try{
                    if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                        window.location.href="https://www.yoursite.com/?mobile";
                    }else if(/iPad/i.test(navigator.userAgent)){
                        //iPad不跳转,或者可以跳转到专门的iPad版
                        //window.location.href="https://ipad.yoursite.com/";
                    }else{
                        window.location.href="https://www.yoursite.com/?mobile";
                    }
                }catch(e){}
            }
        }
    }
    </script>
    ...其他head内容...
    </head>
    • 注意:上面的代码中 https://www.yoursite.com/?mobile 是一个示例,你需要替换成你自己的电脑版域名,?mobile 这个参数可以根据你的需求修改,这段逻辑比较复杂,通常在搭建手机站时模板开发者会处理好,新手可以暂时忽略。

优点

织梦cms 跳转手机版
(图片来源网络,侵删)
  • 官方支持,稳定可靠。
  • 配置简单,只需在后台设置一次。
  • 使用织梦内置变量,不易出错。

使用JavaScript进行跳转(灵活,推荐备用)

如果你的手机站和电脑站使用的是同一套域名(例如通过 /pc//mobile/ 目录区分),或者你想使用更灵活的判断逻辑,JavaScript是很好的选择。

适用场景: 手机站没有独立域名,或需要更精细的设备判断。

操作步骤:

  1. 获取跳转代码:以下是一个常用的、兼容性较好的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) {
            // --- 在这里修改你的手机版网址 ---
            window.location.href = "https://m.yoursite.com";
        }
    }
    // 页面加载完成后执行判断
    browserRedirect();
  2. 将代码添加到首页

    • 登录你的网站服务器(通过FTP或文件管理器)。
    • 找到电脑版网站的首页文件,通常是 index.php
    • 使用代码编辑器打开 index.php
    • <head></head> 标签之间,加入以下代码:
    <head>
    ...其他head内容...
    <script type="text/javascript">
    // 这里粘贴上面提供的JavaScript代码
    function browserRedirect() {
        // ... (代码同上) ...
    }
    browserRedirect();
    </script>
    </head>

优点

  • 灵活性高,可以自定义跳转逻辑和目标地址。
  • 不依赖织梦后台设置,即使后台变量有问题也能工作。

缺点

  • 需要手动修改文件,升级织梦时可能会被覆盖。
  • 如果用户禁用了JavaScript,跳转将失效(但这种情况很少见)。

使用PHP进行跳转(服务器端判断,更可靠)

PHP是在服务器端执行的,比JavaScript更可靠,因为它不受浏览器设置的影响。

操作步骤:

  1. 获取跳转代码

    <?php
    // 获取User-Agent信息
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    // 定义移动设备的关键词
    $mobile_agents = array("240x320","acer","acorp","alcatel","amoi","applewebkit","asus","audio","au-mic","avantgo","benq","bird","blackberry","blazer","cdm-","compal","danger","ddipocket","docomo","dopod","elaine","eric","eudoraweb","hiptop","hp","htc","huawei","i-mobile","iemobile","j-phone","kddi","konka","kwc","lenovo","lg","lg-","lge-","lge","mercury","midp","mitsu","mmm","mmp","mobi","motor","nec","netfront","newgen","nokia","noki","o2","opera mini","palm","panasonic","pantech","pdxgw","philips","phone","playstation","portalmmm","qtek","sagem","samsung","samsung-","sch-","scooter","sec-","sendo","sharp","sie-","smartphone","sony","symbian","t-mobile","teli","tim-","toshiba","tsm","tsm-","up.browser","up.link","vodafone","wap-","webos","windows ce","wosm");
    // 判断是否为移动设备
    $is_mobile = false;
    foreach ($mobile_agents as $device) {
        if (strpos($user_agent, $device) !== false) {
            $is_mobile = true;
            break;
        }
    }
    // 如果是移动设备,则跳转到手机版
    if ($is_mobile) {
        // --- 在这里修改你的手机版网址 ---
        header("Location: https://m.yoursite.com");
        exit; // 跳转后立即终止脚本执行
    }
    ?>
  2. 将代码添加到首页

    • 登录你的网站服务器。
    • 找到电脑版网站的首页文件 index.php
    • 非常重要:将上面的PHP代码放置在 index.php 文件的最顶端,在任何HTML输出(<!DOCTYPE html><html>)之前,PHP的 header() 函数必须在有任何内容输出之前调用,否则会报错。
    <?php
    // 这里粘贴上面提供的PHP跳转代码
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    ...其他内容...
    </head>
    <body>
    ...网站内容...
    </body>
    </html>

优点

  • 最可靠,因为是在服务器端完成判断,不受客户端任何设置影响。
  • 执行效率高。

缺点

  • 同样需要手动修改文件。
  • 如果PHP代码出错,可能导致整个首页无法访问。

总结与建议

方法 优点 缺点 推荐度
织梦自带 官方支持,稳定,配置简单 需要独立手机域名 ★★★★★ (首选)
JavaScript 灵活,可自定义逻辑 依赖JS,可能被覆盖 ★★★☆☆ (备用方案)
PHP 服务器端判断,最可靠 需手动修改,位置要求高 ★★★★☆ (技术流首选)

给您的最终建议:

  1. 首选方法一,这是最规范、最省心的做法,只要你有一个手机版域名,就应该使用这个方法。
  2. 如果你的手机站没有独立域名,或者你无法修改织梦后台,那么方法三(PHP跳转)是最佳选择,因为它最稳定可靠。
  3. 方法二(JavaScript)可以作为最后的备选方案,或者在需要特殊跳转逻辑时使用。

无论选择哪种方法,请务必备份好你的原始文件,以防操作失误导致网站无法访问,修改后,最好清除浏览器缓存,并在不同型号的手机和电脑上进行测试,以确保跳转功能正常工作。

-- 展开阅读全文 --
头像
C语言中引号的作用是什么?
« 上一篇 昨天
dede隐藏栏目文章为何不显示?
下一篇 » 昨天

相关文章

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

目录[+]