故事博客

听说分享~
一个有意思的博客!

dede tag伪静态全数字化调用方法和规则

1、打开dedecms伪静态功能(DEDECMS后台系统设置里面,核心设置把伪静态功能设置为开启,确保你的服务器支持伪静态)

2、更改include系统文件,这个文件夹下有2个需要修改,请提前备份。

1)\include\taglib\tag.lib.php 文件查找:$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

修改为:$row['link'] = $cfg_cmsurl."/keywords/".urlencode($row['id']."-1.html");//注意网上很多这个地方用的比较乱,有的还是错的,一定看清。

2)\include\arc.taglist.class.php 文件查找:$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where tag like '{$this->Tag}' ")

修改为:$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where id = '{$this->Tag}' ");

3、设置tag.htm和taglist.htm这2个模板文件。这个不用说,大家都懂的。但是这里面会发现个问题,你可能会看到你的tag列表页的标题也变成了数字,这样根本不是我们想要的,那么怎么调整呢,找到taglist.htm中的所有{dede:field.title /},把这个替换成: {dede:sql sql="select tag from dede_tagindex where id=~title~"}[field:tag/]{/dede:sql}

4、文章和其他地方的调用tag没有变化,照dede原来的调用方法就行。

5、配置伪静态.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^keywords\.html$ tags\.php
RewriteRule ^keywords/(.+)-(.+)\.html$ tags\.php?/$1/$2/


分享到: 更多()