织梦移动到二级目录后如何访问?

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

核心步骤概览

  1. 准备工作:备份!备份!备份!(网站文件和数据库)
  2. 移动文件:将网站文件从根目录移动到二级目录。
  3. 修改配置文件:更新 data/common.inc.php 中的路径信息。
  4. 更新数据库:修改数据库中所有包含旧URL的记录。
  5. 修改模板文件:更新模板中的静态资源路径。
  6. 测试与验证:检查网站是否正常运行,包括前台和后台。

第一步:准备工作(至关重要!)

在进行任何操作之前,请务必备份你的网站。

织梦移动到二级目录
(图片来源网络,侵删)
  1. 备份网站文件

    • 通过FTP或文件管理器,将你网站根目录下的所有文件和文件夹下载到你的本地电脑,这包括 dededataimagesincludetemplets 等所有目录。
  2. 备份数据库

    • 登录你的主机控制面板(如cPanel、宝塔面板等)。
    • 进入phpMyAdmin数据库管理工具。
    • 选择你的织梦数据库。
    • 点击“导出”,选择“快速”或“自定义”,格式选择“SQL”,然后点击“执行”,将数据库文件下载到本地。

这一步是防止操作失误导致网站无法恢复的“后悔药”。


第二步:移动文件

  1. 通过FTP/文件管理器操作

    织梦移动到二级目录
    (图片来源网络,侵删)
    • 登录你的FTP或主机控制面板的文件管理器。
    • 进入网站根目录(通常是 public_htmlwww)。
    • 创建一个新的目录,命名为 dede(或你想要的任何二级目录名称)。
    • dede 目录本身外的所有文件和文件夹index.php, data, include, templets 等)剪切并粘贴到新创建的 dede 目录中。

    移动前根目录内容:

    /public_html/
    ├── index.php
    ├── robots.txt
    ├── data/
    ├── dede/ (后台管理目录)
    ├── include/
    ├── images/
    └── ... (其他文件)

    移动后根目录内容:

    /public_html/
    └── dede/ (现在包含了原来的所有文件,除了后台目录本身)
        ├── index.php
        ├── robots.txt
        ├── data/
        ├── dede/ (后台管理目录,原封不动)
        ├── include/
        ├── images/
        └── ... (其他文件)

第三步:修改配置文件

这是最关键的一步,织梦的核心配置文件 data/common.inc.php 中存储了网站的绝对路径和数据库信息。

  1. 定位文件:通过FTP或文件管理器,打开 /dede/data/common.inc.php 文件。

    织梦移动到二级目录
    (图片来源网络,侵删)
  2. 修改 cfg_cmspath

    • 在文件中找到 $cfg_cmspath 这一行。
    • 将它的值从网站的绝对根路径修改为你的二级目录的绝对路径

    修改前:

    $cfg_cmspath = '/home/your_username/public_html'; // 这是根目录的绝对路径

    修改后:

    $cfg_cmspath = '/home/your_username/public_html/dede'; // 这是二级目录的绝对路径
    • 如何获取绝对路径?
      • 方法一:在文件管理器中,右键点击你的 dede 文件夹,查看“属性”或“信息”,通常会显示路径。
      • 方法二:在 common.inc.php 文件中找到 $cfg_basedir,它的值通常就是 cfg_cmspath 应该设置的值。
  3. 修改 cfg_admin_dir(可选,但推荐):

    • 找到 $cfg_admin_dir 这一行,默认值是 dede
    • 为了安全,你可以把它修改成一个别人不容易猜到的名字,myadmin
    • 注意:如果你修改了这一项,你访问后台的地址就变成了 http://www.yourdomain.com/dede/myadmin/
  4. 保存文件:保存对 common.inc.php 的修改。


第四步:更新数据库(核心步骤)

织梦的数据库中,很多地方都存储了网站的完整URL,如果不更新,前台页面会显示404,图片和链接也无法正常工作。

  1. 登录phpMyAdmin:再次进入你的数据库管理界面。

  2. 执行SQL更新语句

    • 选择你的数据库。
    • 点击“SQL”标签页,在输入框中执行以下SQL语句,请务必将 http://www.yourdomain.com 替换成你自己的域名,/dede/ 替换成你的二级目录名。

    SQL语句

    -- 1. 更新 dede_archives 文章表中的正文内容
    UPDATE dede_archives SET body = REPLACE(body, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    -- 2. 更新 dede_addonarticle 文章附加表中的内容
    UPDATE dede_addonarticle SET body = REPLACE(body, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    -- 3. 更新 dede_arctype 栏目表中的描述和内容
    UPDATE dede_arctype SET description = REPLACE(description, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    UPDATE dede_arctype SET content = REPLACE(content, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    -- 4. 更新 dede_feedback 评论表中的内容
    UPDATE dede_feedback SET msg = REPLACE(msg, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    -- 5. 更新 dede_config 系统配置表中的站点信息
    UPDATE dede_config SET value = REPLACE(value, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede') WHERE varname = 'cfg_basehost';
    -- 6. 更新所有自定义表单中的内容(如果你的网站使用了自定义表单,需要根据表名调整)
    -- 如果你的表单表是 dede_myt,字段是 content,则执行:
    -- UPDATE dede_myt SET content = REPLACE(content, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
    • 重要提示dede_ 是织梦默认的表前缀,如果你的数据库表前缀不是 dede_(比如是 cms_),请务必将上述所有SQL语句中的 dede_ 修改为你自己的表前缀。
  3. 执行:点击“执行”按钮,数据库中的所有旧URL都会被替换为新的URL。


第五步:修改模板文件

虽然数据库更新可以解决大部分问题,但模板文件(.htm 文件)中可能存在硬编码的路径,特别是引入CSS、JS、图片等资源时。

  1. 定位模板目录:你的模板文件通常在 /dede/templets/ 目录下,以及 /dede/templets/default/ 目录中。

  2. 检查并修改

    • 打开你的模板文件(如 index.htm, article_article.htm 等)。
    • 查找类似 {dede:field name='phpurl'/} 或直接写死的 /images/ 这样的路径。
    • 最佳实践:织梦模板有自己的标签来处理路径,尽量使用这些标签,而不是写死绝对路径。
      • CSS/JS路径:使用 {dede:global.cfg_templets_dir/}/style.css
      • 图片路径:使用 [field:litpic/]{dede:field name='litpic'/} 来获取文章缩略图,而不是写死路径。
    • 如果发现确实有写死根目录路径的地方,手动将其修改为二级目录的路径,例如将 /images/ 改为 /dede/images/

第六步:测试与验证

  1. 访问前台:在浏览器中打开 http://www.yourdomain.com/dede/,检查网站首页、栏目页、文章页、图片等是否正常显示。
  2. 访问后台:在浏览器中打开 http://www.yourdomain.com/dede/dede/(如果你没有修改后台目录名),使用你的管理员账号登录,检查后台各项功能是否正常。
  3. 检查全站:点击所有栏目、链接,确保没有404错误。
  4. 检查静态化:如果你的网站开启了“生成HTML”,检查生成的静态文件路径是否正确,有时可能需要重新生成一下首页和栏目页。

常见问题与解决方案

  • 问题1:后台登录后显示空白或404。

    • 原因:通常是 data/common.inc.php 文件中的 $cfg_cmspath$cfg_admin_dir 路径不正确。
    • 解决:重新检查并修正 common.inc.php 文件中的路径。
  • 问题2:前台页面样式丢失,图片不显示。

    • 原因:CSS和图片的路径不正确,通常是模板中写死了根目录路径。
    • 解决:按照第五步,修改模板文件中的路径,或使用织梦提供的模板标签。
  • 问题3:网站首页可以打开,但点击栏目或文章后404。

    • 原因:数据库中的URL没有被完全更新,或者伪静态规则没有适配新的路径。
    • 解决
      1. 再次检查数据库,确保所有相关的URL都已更新。
      2. 如果你的网站开启了伪静态,你可能需要重新设置伪静态规则,在宝塔面板中,进入“网站设置” -> “伪静态”,选择“织梦”,然后保存并重启Nginx/Apache,新的规则会自动适配二级目录。
  • 问题4:移动后网站速度变慢。

    • 原因:可能存在过多的301重定向,或者浏览器缓存问题。
    • 解决:清理浏览器缓存,检查服务器是否正确处理了根目录的访问(可以设置一个301重定向到二级目录,但这不是必须的)。

按照以上步骤仔细操作,你的织梦网站就能成功迁移到二级目录了,祝你操作顺利!

-- 展开阅读全文 --
头像
织梦进后台入数据库,如何操作实现?
« 上一篇 04-14
C语言如何实现getprime获取素数?
下一篇 » 04-14

相关文章

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

目录[+]