DedeCms在Apache中设置方法

最近发现用DedeCms做的网站空间不断增大,发现要更新一下文档,需要花费半个小时的时间,就思考:有没有方法可以简单些的,所改即所见,那多方便啊。但是当初选择织梦,就是看好它的静态页面,速度快,不想使用动态的页面,但现在必须研究一番,终于找到了织梦伪静态的方法。

一、检查自己的空间是否支持伪静态规则,如果是虚拟主机,可以询问主机商的客服,如果是vps和服务器,则自己动手设置即可。

首先把下面的伪静态规则给保存下来。

下面以Apache服务器为例:

Apache服务器伪静态需要在根目录的.htaccess文件中加入相应伪静态规则即可。

打开.htaccess文件,加入如下规则:

#提供部分规则作参考

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

如果没有.htaccess,自行用文本建立一个空文档,自己写入,保存为.htaccess即可,记得上传到根目录。

二、织梦后台设置

1、登录织梦的后台,到“后台-系统参数-核心设置-是否使用伪静态”中选择“是”,表示我们在后台开启了伪静态;
2、创建栏目或批量增加栏目时,栏目列表选项:选择“动态页”;添加新文章时,发布选项:选择“仅动态浏览 ”。
3、如果你的网站已经存在生成的静态栏目或文章HTML,那么需要关闭生成静态的页面,在后台-系统-SQL命令行工具中执行如下语句:update dede_archives set ismake=-1;update dede_arctype set isdefault=-1;(这两个命令让静态的页面变成动态的页面,让静态的栏目变成动态的栏目,是伪静态关键的两个步骤,其中,dede就是你安装时的数据表前缀,根据实际情况替换。)

三、其他手动设置

1、把站点根目录下index.html删除,以后不更新主页HTML即可,当然你也可以选择不使用动态首页。
2、DedeCms V5.7的为例,打开/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’;
}

2、将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS[‘cfg_phpurl’].”/list.php?tid=”.$typeid;替换为
//动态
$reurl = “/category/list-“.$typeid.”.html”;这步必须修改,即让你的频道或是列表页URL变更为/category/list-1.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);将列表分页默认链接格式/plus/list-1-2-1.html修改为/category/list-1-2-1.html,这步也可以不作更改。

提醒:

1、如果是织梦其他类型栏目的伪静态设置,基本原理也是这样,比如问答类模块栏目、商城类模块栏目的设置等等。
2、事实上,开启DedeCms伪静态支持并不能完全在后台配置,有很多地方还是需要手动修改的,不建议菜鸟操作。
3、5.3、5.5和5.6的channelunit.helper.php文件需要手动搜索下,再自行修改,路径跟5.7的不一样。

虽然都是静态生成,结尾后缀名都是.html,收录都是一样的,便于百度的收录,但是区别还是蛮大的,以下是织梦伪静态与静态生成的区别:

1、伪静态其实还是动态页面,只是结尾后缀名变成了.html,看起来更像静态页面,搜索引擎更加喜欢而已。
2、伪静态的文件修改,不用更新全部页面,特别是修改某个文件,不用整站都生成,比如修改广告位,不用花时间去更新,所改即可马上看到。
3、伪静态在后期文件较大、较多的情况下,便于网站的维护。
4、伪静态的维护比纯静态简单,但是占用cpu的频率来说,我们都知道,纯静态的页面比动态、伪静态的页面占用cpu少

(本文由美国主机侦探原创,转载请注明!)

微信扫码加好友进群

主机优惠码及时掌握

QQ群号:164393063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。QQ:800013301

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

WordPress上传图片出现HTTP错误的解决办法

返回顶部