如果您觉得教程繁琐,可以考虑直接使用插件来简化操作流程。
DedeCMS 伪静态插件下载
为了方便用户,您可以搜索相关资源以获取 DedeCMS 的伪静态插件。
DedeCMS(织梦内容管理系统)是一款简单、实用且开源的 PHP 网站管理系统,被广泛应用于国内网站开发。DedeCMS 5.7 版本功能强大且实用,但一些用户可能对 DedeCMS 5.7 的伪静态设置不够熟悉。以下将详细介绍如何在 DedeCMS 5.7 中实现伪静态设置。
DedeCMS 5.7 伪静态设置七步法:
第一步:登录后台,在“系统参数”-“核心设置”中,将“是否使用伪静态”选项设置为“是”。
注:请确保您的服务器或空间支持伪静态功能。如果不确定,可以咨询您的 IDC 提供商。通常情况下,Apache 服务器通过修改 .htaccess 文件即可实现伪静态,而 IIS 服务器则需要加载 Rewrite 组件并配置 httpd.ini 文件。
第二步:如果您的网站已经生成了静态栏目或文章 HTML 文件,可以通过 SQL 命令行工具执行以下语句:
// 将所有文档设置为“仅动态浏览”
update dede_archives set ismake=-1
// 将所有栏目设置为“使用动态页”
update dede_arctype set isdefault=-1
第三步:列表页和文章页伪静态修改
打开文件 /include/helpers/channelunit.helper.php:
- 查找以下代码:
// 动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
- 替换为:
// 动态文章
if($cfg_rewrite == 'Y')
{
return "/DedeCMS/DedeCMS5.7-".$aid.'-1.html';
}
此步骤将默认的文章链接格式从 /plus/view-1-1.html 修改为 /DedeCMS/DedeCMS5.7-1-1.html。
继续查找以下代码:
// 动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为:
// 动态
$reurl = "/category/list-".$typeid.".html";
此步骤将默认的频道或列表页 URL 格式从 /plus/list.php?tid=1 修改为 /dedecms/list-1.html。
第四步:列表分页伪静态修改
打开文件 /include/arc.listview.class.php:
- 查找以下代码:
$plist = str_replace('.php?tid=', '-', $plist);
- 替换为:
$plist = str_replace('plus/list.php?tid=', 'DedeCMS/DedeCMS5.7-', $plist);
此步骤将默认的列表分页链接格式从 plus/list.php?tid=x 修改为 DedeCMS/DedeCMS5.7-x.html。
第五步:文章分页伪静态
打开文件 /include/arc.archives.class.php,找到 GetPagebreakDM() 函数末尾处:
- 查找以下代码:
$PageList = str_replace("plus/view.php?tid=", "DedeCMS/DedeCMS5.7-", $PageList);
- 替换为:
$plist = str_replace('plus/view.php?tid=', 'DedeCMS/DedeCMS5.7-', $plist);
此步骤将默认的文章分页链接格式从 plus/view.php?tid=x 修改为 DedeCMS/DedeCMS5.7-x.html。
第六步:TAG 标签伪静态
DedeCMS 默认的 TAG 标签 URL 形如 /tags.php?/dedecms模板/。为了更美观,我们可以将其修改为 /tags/dedecms模板/。
打开文件 /include/taglib/tag.lib.php:
- 查找以下代码:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
- 替换为:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";
完成上述修改后,请记得备份原文件后再上传到您的网站。
第七步:httpd.ini 伪静态规则
以下是 IIS 服务器的伪静态规则示例:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/RMB/list-([0-9]+)\\.html $1/plus/list\\.php\\?tid=$2 [I]
RewriteRule ^(.*)/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\\.html $1/plus/list\\.php\\?tid=$2&TotalResult=$3&PageNo=$4 [I]
RewriteRule ^(.*)/RMB/huilv-([0-9]+)-([0-9]+)\\.html $1/plus/view\\.php\\?arcID=$2&pageno=$3 [I]
RewriteRule ^(.*)/(.*)_(.*)_([0-9]+)\\.html $1/huilv/?from=$2&to=$3&num=$4 [I]
RewriteRule ^(.*)/tags\\.html $1/tags\\.php [I]
RewriteRule ^(.*)/tags/(.*)(?:(\\\\?.*))* $1/tags\\.php\\?/$2 [I]
RewriteRule ^(.*)/tags/(.*)\\/(?:(\\\\?.*))* $1/tags\\.php\\?/$2/ [I]
RewriteRule ^(.*)/tags/(.*)\\/([0-9])(?:(\\\\?.*))* $1/tags\\.php\\?/$2/$3 [I]
RewriteRule ^(.*)/tags/(.*)\\/([0-9])\\/(?:(\\\\?.*))* $1/tags\\.php\\?/$2/$3/ [I]
将以上代码保存为 httpd.ini 并上传至网站根目录。
如果没有特殊需求,建议采用官方默认的静态页面生成方式浏览。