织梦5.7 如何实现伪静态实战
织梦伪静态与静态生成的区别:
(1) 伪静态其实还是动态页面,只是结尾后缀名变成了.html,看起来更像静态页面,搜索引擎更加喜欢而已。
(2) 伪静态的文件修改,不用更新全部页面,特别是修改某个文件,不用整站都生成,比如修改广告位,不用花时间去更新,所改即可马上看到。
(3) 伪静态在后期文件较大、较多的情况下,便于网站的维护。
(4) 伪静态的维护比纯静态简单,但是占用cpu的频率来说,我们都知道,纯静态的页面比动态、伪静态的页面占用cpu少。
下面以Apache服务器为例:
第一步,新建.htaccess文件,加入如下规则:
1 #提供部分规则作参考 2 3 RewriteRule ^category/list-([0-9]+)\.html$ /plus/list.php?tid=$1 4 RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 5 RewriteRule ^archives/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?arcID=$1&pageno=$2
第二步.织梦后台设置
1、登录织梦的后台,到“后台-系统参数-核心设置-是否使用伪静态”中选择“是”,表示我们在后台开启了伪静态;
2、创建栏目或批量增加栏目时,栏目列表选项:选择“动态页”;
3、添加新文章时,发布选项:选择“仅动态浏览 ”。
4、如果你的网站已经存在生成的静态栏目或文章HTML,那么需要关闭生成静态的页面,在后台-系统-SQL命令行工具中执行如下语句:
update 前缀_archives set ismake=-1;
update 前缀_arctype set isdefault=-1;
(这两个命令让静态的页面变成动态的页面,让静态的栏目变成动态的栏目,是伪静态关键的两个步骤)
第三步:其他手动设置
1、 把站点根目录下index.html删除,以后不更新主页HTML即可,当然你也可以选择不使用动态首页。
2、打开 /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'; }
3、将GetTypeUrl()中的如下代码:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
/$reurl = "/category/list-".$typeid.".html";
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1.html形式。
4、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,这步也可以不作更改。