完整织梦DedeCMS设置全站伪静态流程 减少网站文件量
ssr
撰写于 2022年 02月 26 日

我们很多站长朋友选择织梦DedeCMS程序的主要原因在于是可以生成HTML静态文件的,这样在一定程度上是可以减少服务器的负载的。所以我们一般做大数据的内容管理系统比较多,当然还有一个原因就是DEDECMS程序比较简单易用,以及拥有很多免费的主题模板。
但是,老蒋看到有网友选择的是虚拟主机,一般虚拟主机是有限制25W文件数量限制的。如果你用来生成静态文件的话,这样文件数量可能被限制。唯一的办法是可以给DEDECMS程序设置伪静态,这样就不占用文章数量。当然这个是没有办法的办法,一般我们不会去将大数据网站设置伪静态的,既然这个同学需要设置,我就看看如何设置织梦的伪静态。
1、首页
首页简单,我们在设置预览的时候,不要生成HTML,直接用php页面首页。
2、DedeCms频道、列表页、文章页
找到文件:

/include/helpers/channelunit.helper.php

将GetFileName()中的如下代码:
  //动态文章
  if($cfg_rewrite == 'Y')
  {
  return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
  }

替换为
   //动态文章
  if($cfg_rewrite == 'Y')
  {
  return "/archives/view-".$aid.'-1.html';
  }

将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

更换为
//动态
$reurl = "/category/list-".$typeid.".html";

3、DedeCms列表分页
/include/arc.listview.class.php

这个文件打开。
找到:GetPageListDM()函数末尾处
找到:
$plist = str_replace('.php?tid=', '-', $plist);

替换成
$plist = str_replace('plus', 'category', $plist);

将默认的plus替换成category。
$plist = str_replace('.php?tid=', '-', $plist);

4、DedeCms文章分页
打开:
/include/arc.archives.class.php

找到:分页列表GetPagebreakDM()函数末尾。
$PageList = str_replace(".php?aid=","-",$PageList);

替换成:
$plist = str_replace('plus', 'archives', $plist);
//将默认的plus替换成archives
$PageList = str_replace(".php?aid=","-",$PageList);

5、DedeCmsTAG标签
/include/taglib/tag.lib.php

打开这个文件。找到:lib_tag()函数。
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

换成:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

6、伪静态文件
RewriteRule ^category/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^archives/view-([0-9]+)-([0-9]+).html$ /plus/view.php?arcID=$1&pageno=$2

这里是Apache的伪静态文件。
location / {
rewrite "^/index.html$" /index.php last;
rewrite "^/list-([0-9]+).html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+).html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+).html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags/$" /tags.php last;
rewrite "^/tags/(.*)/$" /tags.php?/$1/ last;
break;
}

这是Nginx伪静态。
最后,我们可以试试,注意先备份。但是我个人建议既然要用DEDECMS大数据,建议还是静态比较好。

完整织梦DedeCMS设置全站伪静态流程 减少网站文件量

我们很多站长朋友选择织梦DedeCMS程序的主要原因在于是可以生成HTML静态文件的,这样在一定程度上是可以减少服务器的负载的。所以我们一般做大数据的内容管理系统比较多,当然还有一个原因就是DEDECMS程序比较简单易用,以及拥有很多免费的主题模板。
但是,老蒋看到有网友选择的是虚拟主机,一般虚拟主机是有限制25W文件数量限制的。如果你用来生成静态文件的话,这样文件数量可能被限制。唯一的办法是可以给DEDECMS程序设置伪静态,这样就不占用文章数量。当然这个是没有办法的办法,一般我们不会去将大数据网站设置伪静态的,既然这个同学需要设置,我就看看如何设置织梦的伪静态。
1、首页
首页简单,我们在设置预览的时候,不要生成HTML,直接用php页面首页。
2、DedeCms频道、列表页、文章页
找到文件:

/include/helpers/channelunit.helper.php

将GetFileName()中的如下代码:
  //动态文章
  if($cfg_rewrite == 'Y')
  {
  return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
  }

替换为
   //动态文章
  if($cfg_rewrite == 'Y')
  {
  return "/archives/view-".$aid.'-1.html';
  }

将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

更换为
//动态
$reurl = "/category/list-".$typeid.".html";

3、DedeCms列表分页
/include/arc.listview.class.php

这个文件打开。
找到:GetPageListDM()函数末尾处
找到:
$plist = str_replace('.php?tid=', '-', $plist);

替换成
$plist = str_replace('plus', 'category', $plist);

将默认的plus替换成category。
$plist = str_replace('.php?tid=', '-', $plist);

4、DedeCms文章分页
打开:
/include/arc.archives.class.php

找到:分页列表GetPagebreakDM()函数末尾。
$PageList = str_replace(".php?aid=","-",$PageList);

替换成:
$plist = str_replace('plus', 'archives', $plist);
//将默认的plus替换成archives
$PageList = str_replace(".php?aid=","-",$PageList);

5、DedeCmsTAG标签
/include/taglib/tag.lib.php

打开这个文件。找到:lib_tag()函数。
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

换成:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

6、伪静态文件
RewriteRule ^category/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^archives/view-([0-9]+)-([0-9]+).html$ /plus/view.php?arcID=$1&pageno=$2

这里是Apache的伪静态文件。
location / {
rewrite "^/index.html$" /index.php last;
rewrite "^/list-([0-9]+).html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+).html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+).html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags/$" /tags.php last;
rewrite "^/tags/(.*)/$" /tags.php?/$1/ last;
break;
}

这是Nginx伪静态。
最后,我们可以试试,注意先备份。但是我个人建议既然要用DEDECMS大数据,建议还是静态比较好。

赞 (0)

猜您想看

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论