DEDE虽然可以生成静态页面, 也可以重写成为伪静态. 在后台有设置可以开启伪静态. 开启后还要经过一定的设置才能使用./
1. 首先栏目和文章最好设置成动态浏览. 这样才不会生成静态html文件.
将所有文档设置为“仅动态浏览”,update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”,update dede_arctype set isdefault=-1
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.
找到文件/include/channelunit.func.php打开.
可以看到有这样的语句
| return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; |
这就是文章的url形色.
| $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; |
这是列表的重写url.
可以使url更短一点,完成可以写成:
DedeCMS让DEDE开启伪静态的重写设置方法
| 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也一样替换。