如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

本文中,苏南大叔说的dedecms如何换成全站动态URL。这个操作很逆风的说,因为目前的趋势,都是全站静态化。但是dedecms天生就是静态化的,所以对于爱折腾的用户来说,命题就变成了dede如何实现动态化。在这个操作过程中,需要修改一些dede源码。所以也可以看得出:dede本身也没有为动态化页面,做太多的准备。修改代码的过程中,也是对dedecms增强理解的过程。请阅读本文中的内容:

dedecms 如何实现全站动态化? - dede_backend
dedecms 如何实现全站动态化?(图6-1)

本文的测试对象为:dedecms5.7sp2。处理的过程,分为:首页动态化 / 栏目动态化 / 文档动态化。

首页动态化

正常情况下来说,网站根目录下面,会有个默认生成的index.html。这个文件是后台默认生成的静态文件,所以,要把这个文件先删除。然后修改一下index.php文件。

修改完的index.php文件如下,整理的目标就是:不生成index.html文件。

dedecms 如何实现全站动态化? - index_php_modify
dedecms 如何实现全站动态化?(图6-2)

修改的目标就是:不生成静态页面,不转向静态页面。(有点折腾的感觉,对吧?)

if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
  header('Location:install/index.php');
  exit();
}
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select * From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
$pv->Display();

栏目动态化

dede的栏目默认情况下,都是不使用动态页的。而且每个栏目都是单独设置的,所以,需要把所有已有的栏目的设置,都进行修改。新建立栏目的时候,也要注意选择使用动态页

dedecms 如何实现全站动态化? - dede栏目动态页
dedecms 如何实现全站动态化?(图6-3)

当然,下面的sql文件是个简易修改所有栏目为动态的途径。需要特别注意的是:sql语句中的表前缀dede_,需要被替换成你修改过的前缀。目标操作就是设置表arctypeisdefault字段为-1

update dede_arctype set isdefault=-1

设置前后,栏目列表的url会发生变化,从/a/xxx/变成/plus/list.php?tid=xxx的字样。

文档动态化

dede系统里面,文章被称之为文档,这个和其它的cms系统有点说法上的区别。

dedecms 如何实现全站动态化? - dede文章动态
dedecms 如何实现全站动态化?(图6-4)

将网站所有文档都设置为“仅动态”,可以简单的执行下面的SQL语句;目标就是表archives的字段ismake换成-1。同样,请注意修改默认的表前缀dede_

update dede_archives set ismake=-1

这个因为要处理所有的文章,最好是用sql来解决这个问题,比较好。可以在列表中,查看处理的结果。

dedecms 如何实现全站动态化? - dede文章动态2
dedecms 如何实现全站动态化?(图6-5)

sql处理前后,前台列表中的文章列表会发生变化,从某某.html变成view.php?aid=xx

执行sql语句的位置

dede后台,存在一个功能,可以直接执行sql,这个功能很令人震惊。一般的cms是没有这种类似功能的。不过,苏南大叔更习惯在phpmyadmin或者navicat里面执行语句。

newsn.net:这里是【评论】可见内容

总结

这样设置之后,就实现了dede的动态化。不过,从seo角度上来说,这样设置后,这是个历史退步的过程。然后,就引出了下一个命题,如何实现dede的全站伪静态呢?

想知道答案么?请继续关注苏南大叔的dede相关经验文章:

 【源码】代码片段及相关软件点此获取

 【php】秘籍文章入口,仅传授于有缘之人   php    dede

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!