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