我们很多站长朋友选择织梦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大数据,建议还是静态比较好。