织梦uploads子目录如何配置与访问?

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

核心思路

操作的核心分为三步:

织梦uploads放在子目录
(图片来源网络,侵删)
  1. 物理移动:在服务器的文件管理器或通过FTP/SFTP,将 uploads 文件夹移动到新的子目录(data/uploads)。
  2. 修改配置:修改织梦的核心配置文件,告诉系统新的文件上传路径。
  3. 更新数据库:更新数据库中所有已存在的图片、附件等资源的链接地址,使其指向新的路径。

详细操作步骤

第一步:准备工作(非常重要!)

  1. 备份!备份!备份!

    • 备份数据库:在织梦后台的“系统” -> “数据备份”中,进行一次完整的数据备份。
    • 备份网站文件:通过FTP或服务器控制面板,将整个网站目录下载到本地,特别是 /data 目录和 /include 目录。
    • 操作前务必确认备份可用,这是防止操作失误导致网站崩溃的唯一保障。
  2. 创建新目录

    • 在你的网站根目录下,创建一个名为 data 的子目录(如果该目录已存在则无需创建)。
    • 为了安全,强烈建议将 data 目录设置为不可从浏览器直接访问,你可以通过在该目录下创建一个 index.htmlindex.php 空文件来实现。
    • data 目录下,创建一个名为 uploads 的子目录。

第二步:移动文件

  1. 使用FTP/SFTP工具连接到你的服务器。

  2. 找到网站根目录下的 uploads 文件夹。

    织梦uploads放在子目录
    (图片来源网络,侵删)
  3. 将整个 uploads 文件夹(及其内部所有文件和子文件夹)剪切粘贴到你刚刚创建的 /data/uploads 目录下。

    • 移动前/home/yourdomain/www/uploads/...
    • 移动后/home/yourdomain/www/data/uploads/...

第三步:修改织梦配置文件

这一步是告诉织梦,新的文件上传和存储位置在哪里。

  1. 打开网站根目录下的 /include/config.inc.php 文件。

  2. 找到 $cfg_cmspath$cfg_user_dir 这两个变量。

    织梦uploads放在子目录
    (图片来源网络,侵删)
    • $cfg_cmspath:通常指向你的网站根目录,保持默认即可,一般不需要修改。
    • $cfg_user_dir:这个变量定义了用户上传文件的主目录,我们需要将它修改为新的子目录。
  3. 修改 $cfg_user_dir: 将其值从 'uploads' 修改为 'data/uploads'

    // 修改前
    // $cfg_user_dir = 'uploads';
    // 修改后
    $cfg_user_dir = 'data/uploads';
  4. 保存并关闭 config.inc.php 文件。

第四步:更新数据库中的旧链接

这是最关键也最容易出错的一步,数据库中以前的文章、图集等引用的图片路径还是旧的 /uploads/... 格式,必须全部更新为新的 /data/uploads/... 格式。

强烈建议使用织梦自带的SQL命令行工具进行操作,避免直接在后台执行可能超时的操作。

  1. 登录织梦后台 -> 系统 -> SQL命令行工具

  2. 更新文章中的图片路径 执行以下SQL语句,将 dedecms_addonarticle表)、dedecms_archives(文章主表)等表中的旧路径更新。

    -- 更新文章附加表中的内容
    UPDATE dedecms_addonarticle SET body = REPLACE(body, '/uploads/', '/data/uploads/');
    -- 更新文章主表中的描述(如果图片路径在描述里)
    UPDATE dedecms_archives SET description = REPLACE(description, '/uploads/', '/data/uploads/');

    注意

    • dedecms_ 是你的数据库表前缀,请根据你的实际情况修改。
    • 如果你的网站还开启了图集功能,你还需要更新图集相关的表,dedecms_addonimages
    • 如果附件也放在 uploads 目录下,还需要更新 dedecms_upload 等附件表。
  3. 更新其他可能包含路径的表 根据你的网站情况,你可能还需要更新以下表(请先备份数据库再执行!):

    -- 更新图集表
    UPDATE dedecms_addonimages SET body = REPLACE(body, '/uploads/', '/data/uploads/');
    -- 更新软件模型表(如果软件下载地址在uploads)
    UPDATE dedecms_addonsoft SET softwareurl = REPLACE(softwareurl, '/uploads/', '/data/uploads/');
    UPDATE dedecms_addonsoft SET softintro = REPLACE(softintro, '/uploads/', '/data/uploads/');
    -- 更新产品模型表(如果产品图片在uploads)
    -- ... 以此类推,根据你使用的模型进行操作

第五步:设置目录权限

为了确保网站能正常写入新文件,并提高安全性,需要设置正确的目录权限。

  1. 新目录权限

    • /data/uploads 目录的权限设置为 755 (或 drwxr-xr-x)。
    • /data/uploads 目录下所有文件的权限设置为 644 (或 -rw-r--r--)。
  2. 旧目录处理(可选但推荐)

    • 为了防止旧路径被意外访问,你可以将根目录下的 uploads 文件夹重命名为 uploads_old 作为备份,或者直接删除(确保数据库已完全更新无误后再删除)。

第六步:测试

  1. 清理浏览器缓存。
  2. 登录织梦后台,尝试上传一张新的图片或附件。
  3. 前台访问一篇旧文章,检查图片是否能正常显示。
  4. 检查“图片集”、“软件”等模块,确认功能正常。

如果一切正常,恭喜你,操作成功!如果图片无法显示,请仔细检查第四步的SQL语句是否执行正确,以及路径是否写对。


安全加固建议

uploads 目录移入 data 目录后,你还可以进行以下加固:

  1. 设置 .htaccess 文件: 在 /data/uploads 目录下创建一个 .htaccess 文件,并写入以下内容,可以禁止直接访问PHP等可执行文件,大大提高安全性。

    <Files ~ "\.(php|php3|php4|php5|phtml|pl|py|jsp|asp|sh|cgi)$">
        Order Deny,Allow
        Deny from all
    </Files>
  2. 定期备份:养成定期备份数据库和网站文件的好习惯。

通过以上步骤,你就安全地将织梦的 uploads 目录移动到了子目录,并修复了所有相关的链接。

-- 展开阅读全文 --
头像
织梦如何判断当前栏目并实现高亮?
« 上一篇 2025-12-21
织梦如何采集ajax动态数据?
下一篇 » 2025-12-21

相关文章

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

目录[+]