linux主机Apache Web Server环境搭建的DeDeCMS,要实现Tag伪静态,需要使用.htaccess设置Rewrite规则,具体实现请按如下步骤操作。进入dedecms后台,开启伪静态;打开目录 include aglib ag.lib.php 文件
查找$row[‘link’] = $cfg_cmsurl.”/tags.php?/”.urlencode($row[‘keyword’]).”/”;替换为$row[‘link’] = $cfg_cmsurl.”/tags/”.urlencode($row[‘id’]);到一步,Tag的链接已经修改成tags/12/的形式了。这种目录形式非常好,很利于收录,包括我们做长尾关键词优化。然后,找到arc.taglist.class.php,大约70行的如下代码:$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 like ‘{$this->Tag}’ “);
默认的单独tags页面中,title也会变成id的形式,这是不友好的,需要进行如下的替换:找到taglist.htm中的所有{dede:field.title /},把这个替换成:{dede:sql sql=”select tag from dede_tagindex where id=~title~”}[field:tag/]{/dede:sql}。设置apache Rewrite规则新建.htaccess文件,具体内容为:RewriteEngine OnRewriteBase /RewriteRule ^tags/(.*)$ /tags.php?/$1。最后生成一遍全站,就成功了。