实现织梦DEDECMS v5.7的伪静态

织梦DEDECMS v5.7是可以生成静态页面的,也可以重写成为伪静态,在DEDE后台设置可以开启伪静态,但是开启后还要经过一定的设置才能使用.

1、首先栏目和文章最好设置成动态浏览,这样才不会生成静态html文件。

2、需要设置重写规则,可以在在系统目录下加一个 .htaccess文件,在里面加上下面的代码:

  1. RewriteEngine On
  2. RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1
  3. RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
  4. RewriteRule ^plus/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1
  5. RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2

如果你的系统支持url重写,到这里就可以用伪静态访问了.

3、修改重写的URL。

如果用默认的设置,访问的URL是:

http://www.phpfensi.com/plus/view-131-1.html

这样的形色,我们是可以更改这种样式的,找到文件/include/helpers/channelunit.helper.php打开,可以看到有这样的语句:

return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';

这就是文章的url格式.

$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

这是列表的重写url.

可以使url更短一点,完成可以写成:

return "/view-".$aid.'-1.html'; 和 $reurl = "/list-".$typeid.".html";

这样重写的规则也就要更新:

  1. RewriteEngine On
  2. RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1
  3. RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
  4. RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1
  5. RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2

更进一步,还可以把view换成自己的任何词语,这也要把include/arc.archives.class.php文件中的view也一样替换.

发布选项:生成HTML 仅动态浏览 发文章的时候选一下就可以了,为了以后升级,尽量减少修改文件.

以下这没有试,大家按需要测试吧~~

修改数据库

将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令:

update dede_archives set ismake=-1

并将ismake的默认值设置为 -1即动态,将所有栏目设置为“使用动态页”,可以进入数据库管理中,执行下面命令:

update dede_arctype set isdefault=-1

这样就完成了设置.