DedeCms在Apache中设置方法

79次阅读

共计 2135 个字符,预计需要花费 6 分钟才能阅读完成。

最近发现用 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 少

正文完
 0