注册 登录
中国神经科学论坛 返回首页

admin的个人空间 https://bbs.bioguider.com/?11 [收藏] [复制] [分享] [RSS]

日志

DEDECMS5.7全站伪静态浏览设置方法

热度 14已有 3609 次阅读2012-4-11 06:10 |个人分类:站长谈| 动态, 如何, dedecms


DEDEV5.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";

打开include/arc.listview.class.php
找到
$plist = str_replace('.php?tid=', '-', $plist);
(大约在第964行)
在其前面面添加一行
$plist = str_replace('plus/list', 'list', $plist); 

这时重写规则也要更新.
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 仅动态浏览 发文章的时候选一下也不多事。为了以后升级 尽量减少修改文件。

4.如何修改默认发布为动态页; 


修改模板就可以达到发布文章和采集都是使用的默认动态显示。

album_add.htm 发表图集模板
archives_add.htm 发表通用文档模板
article_add.htm 发表普通模板
archives_sg_add.htm 发表特殊类文章模板


想要默认动态浏览只要修改对应的主要模板就可以,在../dede/templets/文件下。

将要发布的文章类型的模板代码改下就可以实现以后发布文章就是动态显示,不用在一个一个修改,实现默认动态浏览。

将代码:<input name="ishtml" type="radio" class="np" value="1" checked="checked" />
              生成HTML
              <input type="radio" name="ishtml" class="np" value="0" />
              仅动态浏览

改为:<input name="ishtml" type="radio" class="np" value="1" />
              生成HTML
              <input type="radio" name="ishtml" class="np" value="0" checked="checked" />
              仅动态浏览

若发布的是普通一般的文章,该article_add.htm下的代码就可以。

5.如何批量修改动态发布为静态生成,或者反过来修改。 
用phpmyadmin打开dede_dede_archives 这个表 
ismake这个字段就是我们要修改的对象。 
运行sql语句: 
UPDATE `dede_archives` SET `ismake` = '-1' 修改所有文档为动态浏览 
UPDATE `dede_archives` SET `ismake` = '1' 修改所有文档为静态发布 
这样就可以了

或者进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令: 
1.将所有文档设置为“仅动态”:update dede_archives set ismake=-1 
2.将所有文档设置为“仅静态”:update dede_archives set ismake=1 
3.将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1 
4.将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1

6.修改火车登录的静态页面发布和动态生成。火车采集入库的时候如果直接静态发布是很占CPU的,动态发布就会好很多! 
先下载一个火车的dede登录模块!很多地方可以下 
在WEB发布那里修改模块; 
选择文章发布参数,发表POST数据那里修改ishtml=0为动态发布,ishtml=1为静态发布。

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|生物行[生物导航网] ( 沪ICP备05001519号 )

GMT+8, 2024-4-18 12:33 , Processed in 0.049806 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部