让织梦DEDECMS5.7支持伪静态的方法(附,Nginx规则)

时间:16-12-02 来源: 作者: 点击:

织梦dedecms虽然可以生成静态页面, 也可以重写成为伪静态. 在后台有设置可以开启伪静态. 开启后还要经过一定的设置才能使用.


我总结为三步:

第一步. 首先栏目和文章最好设置成动态浏览. 这样才不会生成静态html文件.

第二步. 设置重写规则. 在系统目录下加一个 .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重写,到这里就可以用伪静态访问了.

第三步.更改重写的URL.

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

这样的形色, 我们是可以更改这种样式的.

找到文件/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


Nginx下伪静态规则:


rewrite ^/list-([0-9]+)\.html$ /plus/list.php?tid=$1;

rewrite ^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3;

rewrite ^/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1;

rewrite ^/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2;

声明:本文由(Nginx运维与架构)版权所有,禁止转载,文章链接:http://www.nd9p.com/8276.html