- 文章列表页和内容页的伪静态(最常用)
- 搜索、分类、标签等其他页面的伪静态
下面我将为你提供一份详细、分步骤的教程,重点讲解文章列表页和内容页的伪静态设置。

(图片来源网络,侵删)
核心原理
织梦的伪静态实现依赖于两个关键部分:
- 后台设置:告诉织梦系统,你希望URL是什么格式(
/article/123.html)。 - 服务器配置:当用户访问这个漂亮的URL时,服务器需要知道如何将它“翻译”回织梦能处理的动态URL(
/plus/view.php?aid=123),并正确地返回页面内容。
注意:如果你的服务器是Nginx,配置文件与Apache不同,请务必选择对应的配置方法。
第一步:后台设置(通用)
无论你使用什么服务器,这一步都是必须的。
-
登录织梦后台:使用你的管理员账号登录。
(图片来源网络,侵删) -
进入系统设置:在左侧菜单栏找到并点击 【系统】 -> 【系统基本参数】。
-
修改核心设置:
- 在 “核心设置” 页面,找到 “是否使用伪静态” 这一选项。
- 将其值修改为 “是”。
-
(可选但推荐)设置文章命名规则:
- 在左侧菜单栏点击 【核心】 -> 【栏目管理】。
- 选择一个顶级栏目,点击 “更改”。
- 在栏目设置页面,找到 “文章命名规则”。
- 这里可以自定义你想要的URL格式,常用的规则有:
{typedir}/{aid}.html:生成/栏目目录/文章ID.html格式。{typedir}/{Y}/{M}{D}/{aid}.html:生成/栏目目录/年/月日/文章ID.html格式,更有层次感。
- 设置好后,点击 “保存”,这个设置会应用到该栏目及其所有子栏目。
第二步:服务器配置(根据你的服务器类型选择)
这是伪静态能否生效的最关键一步,请根据你的服务器环境,选择对应的配置方法。

(图片来源网络,侵删)
方案A:Apache服务器配置
如果你的网站使用的是Apache服务器,这是最简单的方案。
-
检查
.htaccess文件:- 登录你的网站服务器,通过FTP或文件管理器,找到网站根目录(通常是
public_html或www)。 - 查看是否存在一个名为
.htaccess的文件。
- 登录你的网站服务器,通过FTP或文件管理器,找到网站根目录(通常是
-
编辑或创建
.htaccess文件:- 如果文件存在:用文本编辑器(如Notepad++, VS Code)打开它。
- 如果文件不存在:新建一个名为
.htaccess的文件(注意前面的点,没有文件名后缀)。
-
添加织梦伪静态规则:
- 将以下 Apache 伪静态规则代码,复制并粘贴到
.htaccess文件的末尾(如果已有其他规则,请确保它们不冲突)。
# 织梦DedeCMS伪静态规则 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #列表页 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/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2&totalresult=$3 #文章页 RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?arcID=$1&pageno=$2 RewriteRule ^plus/view-([0-9]+)\.html$ /plus/view.php?arcID=$1 #搜索页 RewriteRule ^plus/search\.html$ /plus/search.php RewriteRule ^plus/search-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/search.php?keyword=$1&searchtype=$2&typeid=$3&ChannelID=$4&orderby=$5&kwtype=$6&TotalResult=$7&PageNo=$8 #TAG标签页 RewriteRule ^tags\.html$ /tags.php RewriteRule ^tags/([a-zA-Z0-9]+)$ /tags.php?/$1 RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2 RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2/$3 RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2/$3/$4 #分类信息 RewriteRule ^plus/([a-z]+)-([0-9]+)-([0-9]+)\.html$ /plus/$1\.php?tid=$2&TotalResult=$3&PageNo=$4 RewriteRule ^plus/([a-z]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/$1\.php?tid=$2&TotalResult=$3&PageNo=$4 </IfModule>
RewriteBase /:如果你的网站安装在子目录(http://yourdomain.com/dede/),你需要将这里的 改为/子目录名/,RewriteBase /dede/。
- 将以下 Apache 伪静态规则代码,复制并粘贴到
-
保存文件:将修改后的
.htaccess文件上传到网站根目录,并确保其权限设置正确(通常是644)。 -
开启Apache的
mod_rewrite模块:- 这一步通常由你的主机商完成,你可以通过创建一个
phpinfo.php文件,内容为<?php phpinfo(); ?>,上传后访问,在页面中搜索mod_rewrite来检查是否已开启,如果没开启,你需要联系主机商或自己修改httpd.conf配置文件。
- 这一步通常由你的主机商完成,你可以通过创建一个
方案B:Nginx服务器配置
如果你的服务器是Nginx,配置方式完全不同。
-
登录服务器:通过SSH连接到你的Nginx服务器。
-
找到Nginx配置文件:通常位于
/usr/local/nginx/conf/nginx.conf或/etc/nginx/sites-available/目录下的某个配置文件(default)。 -
在
server块内添加规则:- 在你网站的
server配置块中(即包含listen 80;和server_name yourdomain.com;的部分),添加以下Nginx伪静态规则。
# 织梦DedeCMS伪静态规则 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/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2&totalresult=$3 last; rewrite "^/plus/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?arcID=$1&pageno=$2 last; rewrite "^/plus/view-([0-9]+)\.html$" /plus/view.php?arcID=$1 last; rewrite "^/plus/search\.html$" /plus/search.php last; rewrite "^/plus/search-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/search.php?keyword=$1&searchtype=$2&orderby=$3&kwtype=$4 last; rewrite "^/tags\.html$" /tags.php last; rewrite "^/tags/([a-zA-Z0-9]+)$" /tags.php?/$1 last; rewrite "^/tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$" /tags.php?/$1/$2 last; rewrite "^/tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$" /tags.php?/$1/$2/$3 last; } } - 在你网站的
-
重启Nginx服务:
-
保存配置文件后,你需要让Nginx重新加载配置才能生效,在SSH中执行以下命令:
# 如果使用 systemctl sudo systemctl reload nginx # 或者使用 service sudo service nginx reload
-
第三步:更新和测试
完成上述配置后,还需要最后一步:
-
更新文章缓存:
- 回到织梦后台,点击 【生成】 -> 【更新主页HTML】。
- 点击 【更新栏目HTML】,选择“所有栏目”。
- 点击 【更新文档HTML】,选择“所有栏目”。
- 这一步是为了让织梦生成新的静态页面链接,确保数据库中的链接规则与你的伪静态规则匹配。
-
测试伪静态是否生效:
- 访问你的网站首页,点击任意一篇文章。
- 观察浏览器地址栏的URL是否已经变成了你设置的伪静态格式(
/plus/view-123-1.html)。 - 如果点击后能正常打开文章内容,并且URL格式正确,那么恭喜你,伪静态设置成功了!
- 如果出现 404 Not Found 错误,请检查:
.htaccess文件是否在根目录,内容是否正确(Apache)。- Nginx配置文件是否添加正确,并且已重启服务。
mod_rewrite模块是否已开启(Apache)。- 网站是否安装在子目录,如果是,
RewriteBase或 Nginx配置中的路径是否正确。
| 步骤 | 操作 | 关键点 |
|---|---|---|
| 后台设置 | 进入【系统基本参数】,将“是否使用伪静态”设为“是”。 | 核心开关,必须开启。 |
| 服务器配置 | Apache: 在根目录.htaccess文件中添加规则。Nginx: 在配置文件的 server块中添加规则。 |
最关键步骤,规则必须正确且服务器模块已开启。 |
| 更新与测试 | 后台【生成】页面更新所有HTML,然后点击文章测试URL。 | 验证设置是否成功,排查404错误。 |
遵循以上步骤,你就可以成功地为织梦网站设置文章伪静态了。
