实现织梦DEDECMS v5.7的伪静态
织梦DEDECMS v5.7是可以生成静态页面的,也可以重写成为伪静态,在DEDE后台设置可以开启伪静态,但是开启后还要经过一定的设置才能使用.
1、首先栏目和文章最好设置成动态浏览,这样才不会生成静态html文件。
2、需要设置重写规则,可以在在系统目录下加一个 .htaccess文件,在里面加上下面的代码:
- RewriteEngine On
- RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1
- RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
- RewriteRule ^plus/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1
- 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";
这样重写的规则也就要更新:
- RewriteEngine On
- RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1
- RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
- RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1
- 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
这样就完成了设置.