专业的上海网站优化公司

伪静态实战:织梦cms在Apache中设置三步走

浏览:/ 2014-07-03

 最近,笔者朋友发现用织梦做的网站空间不断增大,发现要更新一下文档,需要花费半个小时的时间,就思考:有没有方法可以简单些的,所改即所见,那多方便啊。但是当初选择织梦,就是看好它的静态页面,速度快,不想使用动态的页面,但现在必须研究一番,终于找到了织梦伪静态的方法,不用等待漫长的更新时间,潮汕新闻网于a5首发,跟各位朋友分享下。好了,开始我们的织梦伪静态设置吧,一共分为三步:

 
  第一步:检查自己的空间是否支持伪静态规则,如果是虚拟主机,可以询问主机商的客服,如果是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少。

阅读"伪静态实战:织梦cms在Apache中设置三步走"的人还阅读

上一篇:网站文章秒收的心得分享

下一篇:浅谈月入万元站,半年做SEO优化技巧心得