第一步:准备工作
- 确认环境:您的主机或服务器必须支持 Apache,并且开启了
mod_rewrite模块,绝大多数支持 Apache 的虚拟主机都默认开启了此模块。 - 确认目录:请确认您的织梦程序是安装在网站根目录(如
public_html或wwwroot)还是子目录(如public_html/dede),规则中的 和/dede/需要根据您的实际情况进行修改。 - 备份文件:在修改任何文件之前,请务必备份您的
.htaccess文件和网站程序,以防配置错误导致网站无法访问。
第二步:获取并修改 .htaccess 文件
如果您网站的根目录下没有 .htaccess 文件,或者文件内容不完整,可以从织梦官方程序的 /install/ 目录下找到 htaccess.txt 文件,将其复制到网站根目录,并重命名为 .htaccess。

(图片来源网络,侵删)
用文本编辑器(如 VS Code, Sublime Text, Notepad++)打开它,并根据您的织梦版本进行修改。
第三步:配置伪静态规则
织梦的伪静态规则主要分为 后台设置 和 .htaccess 规则 两部分。
A. 织梦后台设置
这是最关键的一步,必须在后台开启伪静态功能。
-
登录您的织梦后台。
(图片来源网络,侵删) -
进入 【系统】 -> 【系统基本参数】。
-
在左侧菜单选择 【核心设置】。
-
找到以下几项,并进行设置:
- 是否使用伪静态:选择 “是”。
- 栏目目录默认名:建议设置为
html。 - 列表命名规则:建议设置为
{typedir}/list_{page}.html。 - 文章命名规则:建议设置为
{typedir}/{aid}.html。 - 文章命名规则(使用目录):如果您的栏目较多,可以使用此规则,
{typedir}/{Y}/{M}{D}/{aid}.html。
设置完毕后,点击 “保存” 按钮。

(图片来源网络,侵删)
B. .htaccess 文件配置
我们需要在 .htaccess 文件中添加正确的 Rewrite 规则。
织梦安装在网站根目录
这种情况下,.htaccess 文件位于网站的根目录(如 public_html/)。
适用于 DedeCMS 5.7 及以上版本
这是目前最常用的规则,包含了首页、栏目页、文章页、列表页等所有常用页面的规则。
<IfModule mod_rewrite.c>
RewriteEngine On
# 绑定域名到子目录(可选,如果不需要可以删除这部分)
# 将 news.yourdomain.com 绑定到 /news/ 目录
# RewriteCond %{HTTP_HOST} ^news\.yourdomain\.com$ [NC]
# RewriteRule ^(.*)$ /news/$1 [L]
# 如果请求的文件或目录已存在,则直接访问
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 织梦主站规则
RewriteRule ^index\.html$ /index\.php [I]
RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list\.php\?tid=$1 [I]
RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list\.php\?tid=$1&totalresult=$2&PageNo=$3 [I]
RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view\.php\?arcID=$1&pageno=$2 [I]
RewriteRule ^plus/view-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/view\.php\?arcID=$1&pageno=$2&userip=$3 [I]
RewriteRule ^plus/list\.php\?tid=([0-9]+)$ /plus/list-$1\.html [I]
RewriteRule ^plus/view\.php\?arcID=([0-9]+)$ /plus/view-$1\.html [I]
# 织梦会员中心规则
RewriteRule ^member/index\.html$ /member/index\.php [I]
RewriteRule ^member/([a-z]+)\.html$ /member/$1\.php [I]
RewriteRule ^member/([a-z]+)-([a-z]+)\.html$ /member/$1\.php\?$2 [I]
RewriteRule ^member/([a-z]+)-([a-z]+)-([a-z]+)\.html$ /member/$1\.php\?$2=$3 [I]
# 织img标签规则
RewriteRule ^data/([a-z]+)\.html$ /data/$1\.php [I]
</IfModule>
织梦安装在子目录
假设您的织梦程序安装在 public_html/dede/ 目录下。
- 后台设置:与场景一完全相同,后台的设置规则保持不变。
.htaccess文件:将.htaccess文件放在public_html/dede/目录下,并修改规则如下。
适用于 DedeCMS 5.7 及以上版本(子目录安装)
<IfModule mod_rewrite.c>
RewriteEngine On
# 将请求重定向到子目录
RewriteCond %{REQUEST_URI} !^/dede/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dede/$1 [L]
# 织梦子目录内部规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index\.html$ /dede/index\.php [I]
RewriteRule ^plus/list-([0-9]+)\.html$ /dede/plus/list\.php\?tid=$1 [I]
RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /dede/plus/list\.php\?tid=$1&totalresult=$2&PageNo=$3 [I]
RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /dede/plus/view\.php\?arcID=$1&pageno=$2 [I]
RewriteRule ^plus/view-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /dede/plus/view\.php\?arcID=$1&pageno=$2&userip=$3 [I]
RewriteRule ^plus/list\.php\?tid=([0-9]+)$ /dede/plus/list-$1\.html [I]
RewriteRule ^plus/view\.php\?arcID=([0-9]+)$ /dede/plus/view-$1\.html [I]
# 织梦会员中心规则
RewriteRule ^member/index\.html$ /dede/member/index\.php [I]
RewriteRule ^member/([a-z]+)\.html$ /dede/member/$1\.php [I]
RewriteRule ^member/([a-z]+)-([a-z]+)\.html$ /dede/member/$1\.php\?$2 [I]
RewriteRule ^member/([a-z]+)-([a-z]+)-([a-z]+)\.html$ /dede/member/$1\.php\?$2=$3 [I]
# 织img标签规则
RewriteRule ^data/([a-z]+)\.html$ /dede/data/$1\.php [I]
</IfModule>
注意:上面的子目录规则中,所有的路径前都加上了 /dede/,请务必将 dede 替换为您自己安装织梦的实际目录名。
第四步:验证和测试
- 保存并上传:将修改好的
.htaccess文件通过 FTP 或主机控制面板的文件管理器上传到服务器的对应目录。 - 更新目录:登录织梦后台,进入 【核心】 -> 【批量更新HTML】,依次点击“更新主页HTML”、“更新栏目HTML”、“更新文档HTML”,这一步会根据您在后台设置的伪静态规则,生成对应的静态页面,并让服务器规则生效。
- 访问测试:
- 访问您的网站首页,看是否正常。
- 点击一个栏目,观察 URL 是否从
plus/list.php?tid=1变成了plus/list-1.html。 - 打开一篇文章,观察 URL 是否从
plus/view.php?arcid=123变成了plus/view-123.html。 - 如果所有页面都正常显示,URL 已经变成伪静态格式,那么恭喜您,配置成功了!
常见问题排查
- 配置后网站打不开,显示 500 错误或 404 错误:
- 原因:
.htaccess文件中的规则有语法错误,或者路径不正确。 - 解决:请立即通过 FTP 将备份的
.htaccess文件传回,恢复原状,然后仔细检查规则中的路径是否与您的实际目录结构匹配(特别是子目录安装的情况)。
- 原因:
- 部分页面可以,部分页面不行:
- 原因:可能是后台的设置与
.htaccess规则不完全匹配,或者批量更新HTML没有执行。 - 解决:再次检查后台的核心设置,并重新执行“批量更新HTML”操作。
- 原因:可能是后台的设置与
- 伪静态规则不生效,URL 依然是动态的:
- 原因:Apache 的
mod_rewrite模块可能未开启,或者主机商不支持伪静态。 - 解决:联系您的主机商确认是否支持伪静态,如果支持,请他们检查
mod_rewrite模块是否开启。
- 原因:Apache 的
希望这份详细的指南能帮助您成功配置织梦的伪静态!
