织梦手机版m跳转代码怎么写?

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

“织梦手机版m跳转”通常指的是两种场景:

织梦手机版m跳转代码
(图片来源网络,侵删)
  1. 自动跳转:用户在电脑上访问 yourdomain.com 时,系统自动检测到是手机用户,然后自动跳转到 m.yourdomain.com
  2. 手动跳转:提供一个明显的链接,让用户可以主动选择进入手机版网站。

下面我将分别介绍这两种实现方法,并提供最常用和最可靠的代码。


自动跳转(推荐)

这是最主流的方式,用户体验最好,实现自动跳转的核心是检测用户设备类型,如果是手机或平板,就执行跳转。

方法1:使用织梦自带的 autoindex.php(最简单、最官方)

织梦DedeCMS从V5.7版本开始,在手机模板目录 /templets/default 下自带了一个 autoindex.php 文件,专门用于实现自动跳转。

操作步骤:

织梦手机版m跳转代码
(图片来源网络,侵删)
  1. 确保你的电脑版网站根目录下有 index.php 文件。

  2. 找到并修改 index.php 文件。index.php 文件的开头(<?php 之后),加入以下一行代码:

    // 手机自动跳转
    if(!is_mobile() && !defined('M')){
        header("Location: /m/");
        exit();
    }
    • is_mobile() 是织梦自带的一个判断函数,它会检查用户代理(User-Agent)来判断是否为移动设备。
    • !defined('M') 是一个判断,防止手机版内部再次跳转,形成死循环。
    • header("Location: /m/"); 这行代码是执行跳转,/m/ 是你的手机版网站目录。请确保你的手机版目录确实是 /m/,如果不是,请修改成你自己的目录,/mobile/
    • exit(); 跳转后立即终止脚本执行。
  3. 上传并覆盖修改后的 index.php 文件到你的服务器。

优点:

织梦手机版m跳转代码
(图片来源网络,侵删)
  • 官方支持,最稳定。
  • 代码量少,操作简单。

缺点:

  • 只对首页的 index.php 有效,如果你希望其他页面(如文章页 article.php)也能自动跳转,需要在对应的文件中同样加入这段代码。

方法2:使用通用PHP跳转代码(更灵活)

如果你想在所有页面都实现跳转,或者你的织梦版本较旧,可以使用这个更通用的方法,它通过一个公共函数来判断,然后在每个需要跳转的页面引入。

操作步骤:

  1. 创建一个公共函数文件。 在你的网站根目录下创建一个名为 mobile_device_detect.php 的文件,并粘贴以下代码:

    <?php
    // mobile_device_detect.php
    function is_mobile() {
        // 如果有手机版参数,则不跳转
        if (isset($_GET['mobile'])) {
            return false;
        }
        // 常见的移动设备关键词
        $mobile_browser = Array(
            'iphone', 'android', 'ipod', 'ipad', 'windows phone', 'mobile', 'phone', 'blackberry', 'opera mobi', 'opera mini', 'fennec', 'htc', 'gozilla', 'mobile', 'palm', 'series60', 'nokia', 'sonyericsson', 'blackberry', 'vodafone', 'o2', 'wap', 'windows ce'
        );
        // 获取用户代理信息
        $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
        $is_mobile = false;
        // 检查是否包含移动设备关键词
        foreach ($mobile_browser as $device) {
            if (strpos($user_agent, $device) !== false) {
                $is_mobile = true;
                break;
            }
        }
        // 检查是否来自移动运营商
        if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|ipad|iphone|ipod|ios)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
            $is_mobile = true;
        }
        // 检查HTTP_ACCEPT头
        if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
            $is_mobile = true;
        }
        // 检查设备屏幕尺寸(通过HTTP头或JavaScript,这里简化处理)
        if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {
            $is_mobile = true;
        }
        return $is_mobile;
    }
    ?>
  2. 在需要跳转的页面引入此函数。 打开你需要实现跳转的页面文件(如 index.php, article.php, list.php 等)。 在文件的最开头(<?php 之后),加入以下代码:

    // 引入移动设备检测函数
    require_once 'mobile_device_detect.php';
    // 如果是移动设备且不是手机版页面,则跳转
    if (is_mobile() && !defined('M')) {
        header("Location: /m/");
        exit();
    }
    • require_once 'mobile_device_detect.php'; 引入我们刚才创建的函数文件。
    • !defined('M') 同样是为了防止循环跳转。
    • header("Location: /m/");/m/ 替换为你自己的手机版目录。
  3. 上传文件。mobile_device_detect.php 和所有修改过的页面文件上传到服务器。

优点:

  • 非常灵活,可以轻松应用到所有页面。
  • 自定义程度高,可以修改 is_mobile() 函数来调整检测逻辑。

缺点:

  • 需要修改多个文件,比方法一麻烦。

手动跳转(补充方案)

手动跳转通常用于提供一个明确的“访问手机版”的链接,让用户自己选择,这对于不希望被强制跳转的用户来说是个很好的补充。

实现方法:

在电脑版的模板文件(/templets/default/index.htm)的合适位置(通常是页脚或顶部导航栏),添加以下链接代码:

<a href="/m/" rel="alternate" hreflang="x-default">访问手机版</a>

或者,如果你想更智能一点,可以结合上面的检测函数,让这个链接只在非移动设备上显示:

方法A:直接使用织梦标签(推荐)

在模板文件中,使用织梦的 dede:php 标签来动态判断。

{dede:php}
require_once 'mobile_device_detect.php'; // 确保路径正确
if (!is_mobile()) {
    echo '<a href="/m/" rel="alternate" hreflang="x-default">访问手机版</a>';
}
{/dede:php}

方法B:纯HTML链接(简单直接)

如果你只是想放一个固定的链接,不进行任何判断,直接使用HTML即可。

<a href="/m/" rel="alternate" hreflang="x-default">访问手机版</a>

重要注意事项

  1. 手机版目录:请务必将代码中的 /m/ 替换为你自己手机网站的实际目录,/mobile//wap/ 等。
  2. php 页面:建议为你的手机版目录(如 /m/)也设置一个 php 页面,这样当用户在手机版访问一个不存在的页面时,会跳转到手机版的404页面,而不是电脑版的。
  3. SEO优化(rel="alternate"hreflang:在手动跳转链接上使用 rel="alternate"hreflang="x-default" 是一个很好的SEO实践,它告诉搜索引擎,yourdomain.comm.yourdomain.com 是同一内容的不同版本,有助于搜索引擎正确索引你的网站。
  4. 测试:在设置好跳转后,请务必使用不同的手机和电脑进行测试,确保跳转逻辑正确无误,并且没有出现死循环等问题。
需求 推荐方法 优点 缺点
首页自动跳转 方法1:修改 index.php 最简单、最官方、稳定 仅对首页有效
全站自动跳转 方法2:通用PHP代码 灵活,可应用于所有页面 需要修改多个文件,稍复杂
用户手动选择 在模板中添加链接 用户体验友好,SEO友好 需要手动操作

对于大多数用户来说,方法1(修改 index.php 是实现首页自动跳转的最佳选择,如果需要全站跳转,则采用方法2,在电脑版页脚添加一个手动跳转链接作为补充,是更完善的解决方案。

-- 展开阅读全文 --
头像
dede数据库备份文件存放在哪个目录?
« 上一篇 03-05
C语言程序设计基础项目教程如何快速入门?
下一篇 » 03-05

相关文章

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

目录[+]