dede管理员文档转移

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

核心原理

DedeCMS的“文档”数据主要存储在数据库中,特别是 #@__archives (主表) 和 #@__addonarticle (文章附加表,如文章内容、图集等) 这两张核心表。

文档转移的本质就是:

  1. 源网站:从数据库中导出与文档相关的数据表。
  2. 目标网站:将这些数据导入到目标网站的数据库中。
  3. 数据修正:修正因路径、ID等变化而导致的数据错乱,特别是图片、附件的路径。

常见场景与操作方案

根据您的具体情况,可以选择以下方案:

同一网站内,从A栏目转移到B栏目(最简单)

这种情况最简单,因为网站域名、路径、数据库都没有变,DedeCMS后台提供了直接的功能。

操作步骤:

  1. 登录后台:使用管理员账号登录DedeCMS后台。
  2. 进入“文档管理”:在左侧菜单栏找到 -> 文档管理 -> 所有文档
  3. 选择文档:在文档列表中,勾选您想要转移的文档(可以全选或按条件筛选)。
  4. 执行“移动”操作:在列表下方的“批量操作”中,选择 移动文档
  5. 选择目标栏目:在弹出的窗口中,选择您要转移到的目标栏目(B栏目),然后点击“确定”即可。

优点:操作简单,无需技术,后台一键完成,路径自动修正。 缺点:仅适用于同一网站内部。


从旧网站迁移到新网站(完整迁移)

这是最常见的需求,比如更换服务器、更换域名,这不仅仅是文档转移,而是整个网站的迁移。

完整迁移步骤(推荐):

这种方法虽然名为“完整迁移”,但它包含了文档的完整转移,并且能自动处理所有路径问题,是最稳妥、最推荐的方法。

步骤1:打包源网站文件

  1. 通过FTP或文件管理器,将旧网站根目录下的所有文件(包括 /dede/data/images/uploads/templets 等)全部下载到本地,并打包成一个ZIP或RAR文件。

步骤2:导出源网站数据库

  1. 登录旧网站的数据库管理工具(如 phpMyAdmin)。
  2. 选择旧网站使用的数据库。
  3. 点击“导出”。
  4. 在导出选项中:
    • 格式:选择“SQL”。
    • 选项:勾选“DROP TABLE / VIEW / PROCEDURE / FUNCTION”和“如果不存在则创建”,这样新数据库中即使有同名表也会被覆盖。
    • 表选择全选所有表(包括 #@__archives, #@__addonarticle, #@__arctype, #@__admin 等所有表)。
  5. 执行导出,得到一个 .sql 文件。

步骤3:上传并部署新网站

  1. 在新服务器上,通过FTP上传之前打包好的网站文件到根目录。
  2. 解压文件。
  3. 修改核心配置文件:
    • /data/common.inc.php:这是数据库连接文件,需要修改其中的数据库主机、用户名、密码和数据库名,使其与新服务器的数据库信息一致。
    • /include/config_base.php:网站基础配置文件,检查并修正网站根目录路径 $cfg_cmspath
  4. 重要:如果新域名和旧域名不同,请务必修改:
    • /data/common.inc.php 中的 $cfg_basehost
    • 后台 系统 -> 系统基本参数 -> 核心设置 中的“网站根网址”。

步骤4:导入数据库到新网站

  1. 登录新服务器的数据库管理工具(如 phpMyAdmin)。
  2. 创建一个新的数据库(如果还没有)。
  3. 选择这个新数据库,点击“导入”。
  4. 选择之前导出的 .sql 文件,然后执行。

步骤5:修正数据(关键步骤)

即使你按照步骤3修改了配置,数据库中存储的旧路径(如图片地址)可能还是错误的,此时需要使用DedeCMS的数据库修复工具。

  1. 登录新网站后台
  2. 进入 系统 -> 数据库备份/还原
  3. 在右侧菜单中找到并点击 **数据库内容替换**
  4. 在弹出的页面中,进行如下替换:
    • 替换前的字符串:输入你的旧域名http://www.old-domain.com
    • 替换后的字符串:输入你的新域名http://www.new-domain.com
    • 选择范围全选所有数据表。
  5. 点击 开始执行,系统会自动扫描并替换所有表中的旧域名链接为新域名链接。

步骤6:检查网站

  1. 清空浏览器缓存。
  2. 前台访问新网站,检查文章、图片、链接是否正常。
  3. 后台登录,检查各项功能是否正常。

仅转移部分文档(如从A站转移文章到B站)

这种情况比较复杂,因为两个网站的栏目结构、数据ID等都可能冲突,手动操作风险高,推荐使用第三方工具或插件。

推荐方案:使用“采集”功能

DedeCMS的“采集”功能非常强大,不仅可以采集外部网站,也可以采集本机或其他站点的HTML页面,这是转移少量或大量文档的利器。

操作步骤:

  1. 在目标网站(B站)后台准备采集节点

    • 进入 采集 -> 采集节点管理
    • 点击“增加新节点”,填写节点名称(如“从A站转移文章”)。
    • 来源网址:这里可以填写一个虚拟地址,因为我们是本地操作,或者,你可以先在A站生成一个包含所有待转移文章列表的HTML页面,然后把这个页面上传到B站的某个目录,再填写这个页面的地址。
    • 匹配网址:如果来源是列表页,需要设置匹配规则,提取文章的真实链接。
    • 保存节点
  2. 设置采集字段(最关键的一步)

    • 进入 采集 -> 采集管理,找到你刚刚创建的节点,点击后面的“选择”。
    • 在“选择栏目”页面,选择你要将文章导入到哪个B站的栏目。
    • 进入“采集字段”设置页面。
    • 选择匹配A站文章标题的规则。
    • 选择匹配A站文章内容的规则。注意:这里需要将A站的图片路径(如 /uploads/...)替换为B站的路径(如 /b站/uploads/...),否则图片会显示不出来,可以通过“高级选项”中的“内容替换”功能来实现。
    • 作者、来源、栏目ID等:根据需要进行匹配和设置,特别是栏目ID,你需要确保A站的某个栏目对应到B站的某个栏目,或者手动指定。
  3. 开始采集

    • 保存所有设置后,回到“采集管理”页面,点击该节点后面的“开始采集”。
    • 系统会根据你设定的规则,自动抓取A站的文档并保存到B站的数据库中。

优点:非常灵活,可以过滤、筛选、修改内容,是内容转移的“瑞士军刀”。 缺点:需要一定的耐心和技巧来配置采集规则,特别是处理图片路径和栏目映射时。


总结与建议

场景 推荐方案 优点 缺点
同一网站内栏目转移 后台“移动文档”功能 简单、快速、一键完成 仅限同一网站
更换域名/服务器迁移 完整迁移法(文件+数据库+路径替换) 最稳妥、最完整、自动化程度高 步骤稍多,需要FTP和数据库操作
部分文档跨站转移 后台“采集”功能 灵活、可定制、能处理复杂情况 需要配置采集规则,有一定学习成本

重要提醒:

  • 备份!备份!备份! 无论是操作哪个步骤,尤其是修改数据库前,务必备份源网站的数据库和文件。
  • 测试环境:如果条件允许,先在本地或测试服务器上完整操作一遍,确认无误后再在生产环境上执行。
  • 权限问题:确保新服务器的PHP进程对 /data/uploads 等目录有写入权限。

希望这份详细的指南能帮助您顺利完成DedeCMS管理员文档的转移工作!

-- 展开阅读全文 --
头像
struction c语言
« 上一篇 03-01
C语言getwindow函数如何获取窗口句柄?
下一篇 » 03-01

相关文章

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

目录[+]