织梦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.XXXX.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

----------------------------我是分割线------------------------------------

WIN下 伪静态规则:

HTTP.INI

[ISAPI_Rewrite]

# 缓存3600秒 = 1 小时(hour)
CacheClockRate 3600

RepeatLimit 32
RewriteRule ^(.*)/index\.html $1/index\.html
RewriteRule ^(.*)/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2
RewriteRule ^(.*)/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4
RewriteRule ^(.*)/view-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3

----------------------------我是分割线------------------------------------

关于列表分页伪静态后 出现/plus/的

例如:www.abc.com/plus/list-2-16-2.html

打开include/arc.listview.class.php 找到

$plist = str_replace('.php?tid=', '-', $plist);

(大约在第964行)

在其前面面添加一行

$plist = str_replace('plus/list', 'list', $plist);

这个是列表页分页rewrite的url格式的。

plus和list的地方你改啥样都行

原文地址:
http://bbs.dedecms.com/336179.html

Related Posts