dede登录为何总跳转登录页?

99ANYc3cd6
预计阅读时长 10 分钟
位置: 首页 DEDE建站 正文

修改登录页面的路径(从 /dede/login.php 改为 /member/login.php

这是最常见的需求,因为默认的 /dede/ 目录看起来像后台,不利于用户体验。

dede登录跳转登录页
(图片来源网络,侵删)

方法1:修改 config.php 文件(推荐,最安全)

这是织梦官方推荐的方法,通过配置文件来定义登录页面,不会影响核心文件,方便升级。

  1. 找到配置文件: 打开织梦的后台目录,找到 dede/config.php 文件。

  2. 添加或修改配置项: 在 config.php 文件中,找到 $_config['loginpage'] 这一行,如果找不到,就在文件末尾 ?> 之前手动添加。

    // ... 其他配置 ...
    // 登录页面地址,默认是 /dede/login.php
    $_config['loginpage'] = '/member/login.php';
    // ... 其他配置 ...
    ?>
  3. 保存文件: 保存 config.php 文件。

    dede登录跳转登录页
    (图片来源网络,侵删)
  4. 清除缓存: 登录织梦后台,进入“系统” -> “系统设置” -> “清除系统缓存”,或者直接删除 /data/cache 目录下的 config.cache.inc.php 文件,让新配置生效。

当用户需要登录时,就会跳转到您指定的 /member/login.php 页面。

方法2:修改 login.php 文件(不推荐,升级会失效)

这个方法直接修改了跳转逻辑,但缺点是升级织梦版本后,文件会被覆盖,需要重新修改。

  1. 找到并打开文件: 打开 /dede/login.php 文件。

    dede登录跳转登录页
    (图片来源网络,侵删)
  2. 修改跳转代码: 在文件中找到类似这样的代码(通常在 ShowMsg 函数调用处):

    // ... 其他代码 ...
    if ($gourl == '')
    {
        $gourl = 'login.php';
    }
    ShowMsg('您尚未登录,请先登录!', $gourl, 0, 1000);
    // ... 其他代码 ...

    $gourl = 'login.php'; 修改为您想要的路径,

    // ... 其他代码 ...
    if ($gourl == '')
    {
        // 修改为你的新登录页面路径
        $gourl = '/member/login.php'; 
    }
    ShowMsg('您尚未登录,请先登录!', $gourl, 0, 1000);
    // ... 其他代码 ...
  3. 保存文件: 保存 /dede/login.php 文件。

注意:此方法不够稳定,强烈推荐使用方法1


修改登录成功后的跳转页面

用户登录成功后,默认会跳转到他之前想访问的页面,如果您想固定跳转到首页或指定页面。

  1. 找到并打开文件: 打开 /dede/login.php 文件。

  2. 修改成功跳转代码: 在文件中找到处理登录成功后的代码段,通常是一个 if 判断,找到类似 ShowMsg('成功登录,正在进入...', $gourl, 2000, 1); 的代码。 将其中的 $gourl 变量修改为您想跳转的URL。

    // 原代码(跳转到之前的页面)
    // $gourl = ($gourl == '' ? 'index.php' : $gourl);
    // ShowMsg('成功登录,正在进入...', $gourl, 2000, 1);
    // 修改为固定跳转到首页
    ShowMsg('成功登录,正在进入首页...', '/', 2000, 1);
    // 或者修改为固定跳转到指定页面
    // ShowMsg('成功登录,正在进入...', '/member/index.php', 2000, 1);
  3. 保存文件


访问需要登录的页面时,直接跳转到首页而不是登录页

这个需求比较特殊,通常用于优化体验,让未登录用户先看到首页内容,而不是被强制弹到登录页。

  1. 找到并打开文件: 打开 /include/memberlogin.class.php 文件,这个文件是处理会员登录逻辑的核心类。

  2. 修改 checkUser() 方法: 在文件中找到 checkUser() 方法,这个方法在需要验证用户时会调用,找到 if(empty($uid) || empty($pwd)) 这个判断块。

  3. 修改跳转逻辑: 将原来的登录提示跳转,修改为首页跳转。

    // 原始代码(大约在第200行左右,版本不同可能略有差异)
    // if(empty($uid) || empty($pwd))
    // {
    //     return '-1';
    // }
    // 修改为跳转到首页
    if(empty($uid) || empty($pwd))
    {
        header("Location: /"); // 跳转到网站根目录(首页)
        exit();
    }
  4. 保存文件

警告:这种方法会改变织梦的核心登录验证逻辑,可能会导致其他依赖此方法返回值的功能出现问题,请谨慎使用。

总结与推荐

修改目标 推荐方法 优点 缺点
修改登录页路径 修改 dede/config.php 安全、官方支持、升级不失效 无明显缺点
修改 dede/login.php 简单直接 升级会失效,需重新修改
修改登录后跳转 修改 dede/login.php 灵活,直接控制跳转逻辑 升级会失效
访问受限页跳首页 修改 include/memberlogin.class.php 实现特定需求 风险高,可能影响其他功能,不推荐

对于绝大多数用户,场景一的需求最为普遍,强烈建议使用方法1(修改 config.php,这是最规范、最安全的方式。

-- 展开阅读全文 --
头像
drand48函数在C语言中如何正确使用?
« 上一篇 今天
织梦批量修改图片路径,如何高效操作?
下一篇 » 今天

相关文章

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

目录[+]