核心概念理解
什么是动态地址?
动态地址通常包含 、&、 等符号,服务器需要通过解析这些参数来动态生成页面内容。

- 示例:
/plus/list.php?tid=1或/plus/view.php?aid=123 - 特点:
- 优点:服务器不占用物理空间存储页面,内容实时从数据库读取,对服务器硬盘压力小。
- 缺点:
- 不利于SEO:搜索引擎对动态页面的抓取和收录效率较低。
- 用户体验差:URL看起来不美观,不易记忆和分享。
- 加载速度可能稍慢:每次访问都需要服务器实时处理。
什么是静态地址?
静态地址是纯粹的 .html、.htm 等后缀的文件,它们是真实存在于服务器上的文件。
- 示例:
/plus/list-1.html或/plus/view-123.html - 特点:
- 优点:
- 利于SEO:结构清晰,受搜索引擎青睐。
- 用户体验好:URL简洁、美观。
- 加载速度快:浏览器直接读取服务器上的文件,无需PHP处理,减轻服务器CPU压力。
- 缺点:会占用一定的服务器硬盘空间。
- 优点:
什么是伪静态?
伪静态是 “静态化的地址,动态化的内容”,它通过服务器的 URL 重写规则,将一个静态格式的地址(如 list-1.html)映射到动态的 PHP 文件(如 list.php?tid=1)进行处理,但最终返回给用户和搜索引擎的仍然是静态地址。
- 示例:你访问
/plus/list-1.html,但服务器实际执行的是/plus/list.php?tid=1的代码。 - 为什么需要伪静态?
- 它结合了动态和静态的优点:拥有静态地址的SEO优势,同时避免了静态文件占用大量硬盘空间的问题(页面是按需生成的)。
- 这是目前网站优化的 最佳实践。
准备工作:服务器环境支持
在设置伪静态之前,必须确保你的服务器环境支持 URL 重写功能。
- Apache 服务器:需要开启
mod_rewrite模块,绝大多数虚拟主机都默认开启。 - Nginx 服务器:需要配置
rewrite规则。 - IIS 服务器:需要安装
URL Rewrite模块。
你可以通过在网站根目录创建一个 info.php 文件,内容为 <?php phpinfo(); ?>,然后访问它,查看 Loaded Modules(已加载模块)列表中是否有 mod_rewrite (Apache) 或相关 rewrite 信息 (Nginx/IIS)。

DedeCMS 伪静态详细配置步骤
步骤 1:后台开启伪静态
这是最核心的一步,告诉 DedeCMS 系统你要使用伪静态模式。
- 登录你的 DedeCMS 后台。
- 进入 【系统】 -> 【系统基本参数】 -> 【核心设置】。
- 找到 “是否使用伪静态” 这一项,将其设置为 “是”。
- 点击 “保存”。
步骤 2:修改前台栏目和文章的默认链接
这一步是为了让系统在生成栏目和文章时,默认就使用伪静态的链接格式,而不是动态地址。
- 进入 【系统】 -> 【系统基本参数】 -> 【核心设置】。
- 找到 “栏目链接默认的后缀名”,将其修改为
.html。 - 找到 “文章命名规则”,将其修改为你想要的伪静态格式。
{typedir}/{Y}/{M}{D}/{aid}.html(推荐,分类目录+年月日+文章ID){typedir}/{aid}.html(简单,分类目录+文章ID)
- 找到 “列表命名规则”,同样修改为伪静态格式。
{typedir}/list_{page}.html(推荐,分类目录+页码){typedir}/{page}.html
- 点击 “保存”。
步骤 3:上传并配置伪静态规则文件
这是让服务器实现 URL 重写的关键,你需要根据你的服务器类型,选择对应的规则文件。
重要提示:DedeCMS 在安装时会默认生成这些规则文件,但有时你需要在后台重新生成或手动上传。

-
下载规则文件:
- 登录 DedeCMS 后台。
- 进入 【系统】 -> 【系统基本参数】 -> 【核心设置】。
- 找到 “是否使用伪静态” 这一栏,它旁边通常会有一个 “获取新版伪静态规则” 的链接,点击它。
- 系统会为你生成或提供下载对应服务器环境的规则文件(
.htaccess,httpd.ini,nginx.conf等)。
-
上传规则文件:
- 将下载好的规则文件上传到你的网站 根目录 () 下。
- 确保文件名正确:
- Apache 服务器:文件名为
.htaccess(注意前面的点)。 - IIS 服务器:文件名为
httpd.ini。 - Nginx 服务器:规则通常需要手动添加到 Nginx 的配置文件中,而不是上传一个独立文件。
- Apache 服务器:文件名为
-
规则文件内容示例:
-
Apache (.htaccess)
RewriteEngine On #如果请求的是真实存在的文件或目录,则直接访问 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #栏目列表 RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1 #栏目列表分页 RewriteRule ^plus/list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2 #文章页面 RewriteRule ^plus/view-([0-9]+)\.html$ /plus/view.php?aid=$1 -
IIS (httpd.ini)
[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 #栏目列表 RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list\.php\?tid=$1 #栏目列表分页 RewriteRule ^plus/list-([0-9]+)-([0-9]+)\.html$ /plus/list\.php\?tid=$1&PageNo=$2 #文章页面 RewriteRule ^plus/view-([0-9]+)\.html$ /plus/view\.php\?aid=$1
-
Nginx (通常在 nginx.conf 的 server 块中添加)
location / { #... 其他配置 ... if (!-e $request_filename) { rewrite "^/plus/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last; rewrite "^/plus/list-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2 last; rewrite "^/plus/view-([0-9]+)\.html$" /plus/view.php?aid=$1 last; } }
-
步骤 4:更新网站缓存和生成静态页面
完成以上配置后,需要让 DedeCMS 重新生成链接。
- 进入 【系统】 -> 【一键更新网站】。
- 勾选 “更新首页”、“更新栏目”、“更新文档” 等所有选项。
- 点击 “开始更新”,这个过程会重新生成所有页面的链接,使其符合你设置的伪静态规则。
常见问题与排查
-
设置后,打开页面是404错误
- 原因:伪静态规则文件没有生效。
- 排查:
- 检查文件位置:
.htaccess或httpd.ini是否在网站根目录? - 检查文件名:
.htaccess的点是否遗漏? - 检查服务器模块:
mod_rewrite(Apache) 或URL Rewrite(IIS) 是否开启? - 检查文件权限:确保规则文件可被服务器读取。
- 检查文件位置:
-
首页正常,但栏目页或文章页是404
- 原因:伪静态规则文件中的规则不完整或与你设置的命名规则不匹配。
- 排查:检查你的“栏目命名规则”和“文章命名规则”,确保规则文件中的正则表达式能正确匹配你生成的URL格式。
-
后台无法登录,一直跳转
- 原因:伪静态规则可能错误地重写了后台管理目录的路径。
- 排查:检查你的
.htaccess文件,确保它没有对/dede/(或你的后台目录) 这一路径进行重写,如果有的话,需要添加排除条件,RewriteCond %{REQUEST_URI} !^/dede/ [NC] # ... 其他规则 ...
| 步骤 | 操作 | 目的 |
|---|---|---|
| 1 | 后台开启“是否使用伪静态” | 启用DedeCMS的伪静态功能 |
| 2 | 修改栏目/文章链接后缀为.html |
让系统生成伪静态格式的链接 |
| 3 | 上传并配置.htaccess等规则文件 |
让服务器实现URL重写 |
| 4 | 一键更新网站 | 重新生成所有页面以应用新规则 |
遵循以上步骤,你就可以成功地将 DedeCMS 的动态地址转换为对SEO友好的伪静态地址了,整个过程的核心在于 “后台设置” + “服务器规则” + “重新生成” 这三者的结合。
