【DEDE伪静态】织梦cms网站如何做伪静态

DEDE织梦cms常用的参数标签汇总、以及操作过程中的一些bug问题解决方法,dede网站二开,以下龙腾飞网络科技-小吴在建站实操中笔记记录,织梦dede建站教程保存使用非常方便:

【DEDE建站教程】

织梦cms网站如何做伪静态

第一步:后台——系统参数——核心设置——是否使用伪静态:选择“是”;

查看网站空间(虚拟主机)是否支持伪静态,一般来说,空间都是支持伪静态的,如果不行,可以与空间的IDC商联系一下,如果是自己的服务器,那就可以自己设置。

Apache服务器伪静态相对简单,直接在.htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpd.ini文件。

第二步:如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在 后台——系统——SQL命令行工具 中执行如下语句:

将所有文档设置为“仅动态浏览”:

代码语言:javascript代码运行次数:0运行复制
update dede_archives set ismake=-1

将所有栏目设置为“使用动态页”:

代码语言:javascript代码运行次数:0运行复制
update dede_arctype set isdefault=-1

第三步、列表页、文章页伪静态修改

第一项、效果:将默认的/plus/view-1-1.html文章链接格式,

改为/DedeCMS/DedeCMS5.7-1-1.html。

解决:打开 /include/helpers/channelunit.helper.php 文件。

1、查找:

代码语言:javascript代码运行次数:0运行复制
if($cfg_rewrite == 'Y')
  {
  return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
  }

替换为

代码语言:javascript代码运行次数:0运行复制
if($cfg_rewrite == 'Y')
  {
  return "/DedeCMS/DedeCMS5.7-".$aid.'-1.html';
  }

第二项、效果:将默认的频道或是列表页URL/plus//list.php?tid=1,

变更为/dedecms/list-1.html形式。

2、查找:

代码语言:javascript代码运行次数:0运行复制
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

替换为:

代码语言:javascript代码运行次数:0运行复制
if($GLOBALS["cfg_rewrite"] == 'Y') //伪静态
{
$reurl = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'.html';
}
else
{
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}

第四步、列表分页伪静态修改

效果:将默认的列表分页链接格式plus/list.php?tid=xxxl,

修改为DedeCMS/DedeCMS5.7-x-x-x.html。

解决:打开 /include/arc.listview.class.php 文件

查找:

代码语言:javascript代码运行次数:0运行复制
$plist = str_replace('.php?tid=', '-', $plist);

替换为

代码语言:javascript代码运行次数:0运行复制
$plist = str_replace('plus/list.php?tid=', 'RMB/list-', $plist);

将默认的 plus/list.php?tid= 替换成 RMB/list-;

第五步、文章分页伪静态

效果:将默认的文章分页链接格式plus/view.php?tid=xxxl,

修改为DedeCMS/DedeCMS5.7-x-x-x.html

解决:打开 /include/arc.archives.class.php 文件,

找到获取动态的分页列表 GetPagebreakDM() 函数末尾处:

查找:

代码语言:javascript代码运行次数:0运行复制
$PageList = str_replace("plus/view.php?tid=","DedeCMS/DedeCMS5.7-",$PageList);

替换为:

代码语言:javascript代码运行次数:0运行复制
$plist = str_replace('plus/view.php?tid=', 'RMB/huilv-', $plist);

将默认的plus/view.php?tid=替换成RMB/huilv-;

第六步:TAG标签伪静态

效果:DedeCms默认的TAG标签URL,形如/tags.php?/dedecms模板 /,改成/tags/dedecms模板 / 。要记得将原网站备份。

解决:打开 /include/taglib/tag.lib.php 文件

查找:

代码语言:javascript代码运行次数:0运行复制
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

替换为

代码语言:javascript代码运行次数:0运行复制
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

第七步:httpd.ini伪静态规则:

代码语言:javascript代码运行次数:0运行复制
[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 上传到网站的根目录。

如无特殊需求建议采用官方默认的生成静态的页面方式浏览。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-10-17,如有侵权请联系 cloudcommunity@tencent 删除建站php网站cms分页