这个过程并不复杂,但有几个关键步骤和配置点需要特别注意,否则就会出现各种“404错误”、“找不到页面”或者“后台登录后跳转到首页”的问题。

下面我将为你提供一份详细、完整的图文步骤指南。
核心思路
- 上传文件:将 DedeCMS 程序上传到服务器的二级目录(
blog)。 - 修改配置:修改核心配置文件,告诉 DedeCMS 它的新“家”在哪里。
- 安装程序:通过浏览器访问二级目录路径,运行安装向导。
- 伪静态配置:为二级目录配置伪静态规则,使 URL 美观且能正常工作。
- 网站后台访问:通过新的路径访问网站后台。
详细步骤指南
第一步:准备环境和上传文件
-
登录你的服务器:通过 FTP (如 FileZilla) 或服务器的文件管理器登录。
-
创建二级目录:在网站的根目录(通常是
public_html,wwwroot或htdocs)下,创建一个你想要的二级目录,blog。 -
上传 DedeCMS 程序:将下载好的 DedeCMS 程序包(
dedecms-v5.7-UTF8-SP2-full.zip)解压,然后将解压后的所有文件和文件夹上传到blog目录中。
(图片来源网络,侵删)- 重要:确保上传后的文件结构是
yourdomain.com/blog/dede/、yourdomain.com/blog/include/等,而不是yourdomain.com/blog/dedecms-v5.7/...。
- 重要:确保上传后的文件结构是
第二步:修改核心配置文件
这是最关键的一步,目的是让 DedeCMS 知道它的安装路径不再是根目录,而是 blog。
你需要修改两个文件,它们都在你刚刚上传的 /blog 目录下。
修改 /blog/include/config_base.php
这个文件定义了网站的基本路径,找到以下两行代码并修改:
// 原始代码 (如果安装路径是根目录) $GLOBALS['cfg_cmspath'] = '/'; // CMS安装目录 $GLOBALS['cfg_basedir'] = '/'; // 网站根目录
修改为:
// 修改后的代码 (安装路径在 /blog 目录) $GLOBALS['cfg_cmspath'] = '/blog'; // CMS安装目录,改为你的二级目录名 $GLOBALS['cfg_basedir'] = '/blog'; // 网站根目录(对于Dede来说,就是它的安装目录)
修改 /blog/include/config_update.php
这个文件用于后台的在线升级功能,同样需要修改路径。
找到以下代码:
// 原始代码 $cfg_update_urls = 'http://update.dedecms.com/step1/'; $cfg_softname = 'DedeCMS'; $cfg_isurl = 'http://www.dedecms.com/'; $cfg_newsurl = 'http://bbs.dedecms.com/';
修改为:
// 修改后的代码 $cfg_update_urls = 'http://update.dedecms.com/step1/'; $cfg_softname = 'DedeCMS'; $cfg_isurl = 'http://www.yourdomain.com/blog/'; // 改为你的二级域名完整路径 $cfg_newsurl = 'http://bbs.dedecms.com/';
注意:如果你的网站是
https开头的,这里也要相应地修改为https://。
第三步:运行安装程序
- 给安装目录添加执行权限:为了安全,安装前最好给
/blog/install目录添加写入权限(在 FTP 中右键 -> 文件权限 -> 将数值改为 777 或勾选写入权限),安装成功后记得改回 755 或移除写入权限。 - 通过浏览器访问:在浏览器地址栏输入:
http://www.yourdomain.com/install/ - 按照向导操作:接下来的步骤和安装在根目录下完全一样:
- 接受协议。
- 检查环境,确保
php.ini中的file_uploads、memory_limit等满足要求。 - 填写数据库信息:
- 数据库地址:通常是
localhost - 数据库用户名:你的数据库用户名
- 数据库密码:你的数据库密码
- 数据库名:你为 DedeCMS 创建的新数据库名
- 数据表前缀:建议使用默认的
dede_,或者自定义一个以防冲突。
- 数据库地址:通常是
- 网站信息设置:
- 网站名称:我的博客”
- 网站首页:这里要填写
http://www.yourdomain.com/blog/,这是非常关键的一步! - 管理员账号和密码:设置你的后台登录信息。
- 完成安装:点击“开始安装”,等待安装完成,安装成功后,系统会提示你删除
/install目录。
第四步:配置伪静态
DedeCMS 的 URL 静态化功能需要服务器支持伪静态,如果你不配置,文章的链接会变成动态的 plus/view.php?aid=123,影响 SEO 和用户体验。
你需要根据你的服务器类型来修改配置文件。
Apache 服务器
-
开启
mod_rewrite:确保 Apache 的httpd.conf文件中LoadModule rewrite_module modules/mod_rewrite.so这一行没有被注释掉。 -
在
/blog目录下创建.htaccess文件:如果该目录下没有,就新建一个,将以下内容复制进去:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ // 这里的 /blog/ 必须和你的二级目录名一致 RewriteRule ^index\.html$ /blog/index\.php [L] RewriteRule ^plus/list-([0-9]+)\.html$ /blog/plus/list\.php?tid=$1 [L] RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /blog/plus/list\.php?tid=$1&totalresult=$2&PageNo=$3 [L] RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /blog/plus/view\.php?arcID=$1&pageno=$2 [L] RewriteRule ^plus/view-([0-9]+)\.html$ /blog/plus/view\.php?arcID=$1 [L] </IfModule>
Nginx 服务器
-
修改 Nginx 的配置文件:找到你的网站配置文件(通常在
/etc/nginx/sites-available/目录下),在server块中添加以下location规则。server { listen 80; server_name www.yourdomain.com; root /var/www/html; # 你的网站根目录 # ... 其他配置 ... # 将所有对 /blog 目录下的请求转发到 /blog/index.php location /blog/ { try_files $uri $uri/ /blog/index.php?$query_string; } # 如果你的网站根目录也有其他程序,可以单独处理 location / { # ... 其他程序的配置 ... } # ... 其他配置 ... } -
重载 Nginx 配置:保存文件后,执行命令
sudo nginx -s reload或sudo systemctl reload nginx使配置生效。
在 DedeCMS 后台开启伪静态
- 登录你的网站后台。
- 进入 “系统” -> “系统基本参数” -> “核心设置”。
- 找到 “是否使用伪静态” 选项,将其选择为 “是”。
- 保存。
第五步:访问网站和后台
- 网站前台:
http://www.yourdomain.com/blog/ - 网站后台:
http://www.yourdomain.com/blog/dede/login.php
常见问题与解决方案
Q1: 后台登录成功后,跳转到首页,无法进入后台。
A1: 这是最常见的问题,几乎 100% 是因为 第二步 中没有正确修改 /blog/include/config_base.php 文件里的 $cfg_cmspath 和 $cfg_basedir,请仔细检查并确保它们被正确设置为 /blog。
Q2: 文章页面、列表页面等出现 "404 Not Found" 错误。 A2: 这通常是因为 第四步 的伪静态配置没有生效。
- Apache:检查
.htaccess文件是否在正确的/blog目录下,RewriteBase /blog/是否正确,以及mod_rewrite模块是否已开启。 - Nginx:检查
location规则是否添加到了正确的server块,并且路径/blog/是否匹配。 - 通用方法:可以先在后台将“是否使用伪静态”设置为“否”,看看页面是否能正常访问(虽然链接是动态的),如果可以,那问题就出在伪静态配置上。
Q3: 安装时提示 /data 目录没有写入权限。
A3: 通过 FTP 连接到服务器,找到 /blog/data 目录,右键修改其权限为 777(或直接勾选写入权限),安装完成后记得改回 755。
Q4: 修改了配置文件,但网站还是不对。 A4:
- 清除浏览器缓存:按
Ctrl + F5强制刷新。 - 检查文件路径:再次确认
config_base.php中的路径是否和服务器上的实际目录结构完全一致。 - 检查数据库:登录数据库,查看
dede_homepageset表中的value字段,确保cfg_indexurl的值是http://www.yourdomain.com/blog/,如果不是,可以直接在这里修改。
按照以上步骤操作,你就可以顺利地将 DedeCMS 安装在二级目录并正常运行了,祝你建站顺利!
