发布时间:2023-07-07 文章分类: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大数据,建议还是静态比较好。