DeDeCMS Tag伪静态在Apache及IIS中的实现方法
一、Apache Web Server环境搭建的DeDeCMS,要实现Tag伪静态,需要使用.htaccess设置Rewrite规则,具体实现请按如下步骤操作。
1、进入dedecms后台,开启伪静态
2、打开目录 \include\taglib\tag.lib.php 文件
查找
$row['link'] = $cfg_cmsurl.”/tags.php?/”.urlencode($row['keyword']).”/”;
替换为
$row['link'] = $cfg_cmsurl.”/tags/”.urlencode($row['keyword']);
到一步,Tag的链接已经修改成tags/keywords的形式了。这种目录形式非常好,很利于收录,包括我们做长尾关键词优化。
3、设置apache Rewrite规则
新建.htaccess文件,具体内容为:
RewriteEngine On
RewriteBase /
RewriteRule ^tags/(.*)$ /tags.php?/$1
4、修改具体涉及到的模板页面中tags的导航,以便导航链接仍为根目录/tags.php
5、最后生成一遍全站,就成功了。
PS:在后台开启伪静态后,如果栏目页或内容页使用的是动态URL,则需要设置一下栏目页及内容页的.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
PS:以上操作过程中如果没有修改目录名(即tags.php),安上述操作即可实现Tag的伪静态;但由于tag这个词本身已在搜索引擎被人为降低权重,所以实际测试时我修改了目录名,于是暴露出一个新的问题:Tag页翻页的ULR规则是错误的;检查了部分代码,还是无法找到问题的根源,有可能是需要在.htaccess文件中补充一条rewrite规则,也可能是哪块的源代码没有修正为新的目录名称。
二、IIS Web Server环境搭建的DeDeCMS,要实现Tag伪静态,具体操作如下:
1、进入dedecms后台,开启伪静态
2、修改 /include/taglib/tag.lib.php
查找
//$row['link'] = $cfg_cmsurl.”/tags.php?/”.urlencode($row['keyword']).”/”;
修改为
$row['link'] = $cfg_cmsurl.”/tags/”.urlencode($row['keyword']).”/”;
3、新建httpd.ini 文件,并设置重写规则
RewriteRule ^(.*)/tags\.html $1/tags\.php
RewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
帝国CMS的Tag页面使用like调用相关tags的方法
帝国CMS灵动标签调用TAG标签方法汇总
帝国CMS随机调用当前tags所属分类下的其他tags的方法
DeDeCMS自定义表单实现字段默认为必填项
DeDeCMS自定义表单提交数据时加入验证码功能
DeDeCMS调用自定义表单内容以及实现分页功能(Datalist运用实例)
DeDeCMS的channel标签支持limit(属性)功能
DeDeCMS获取上级栏目ID及顶级栏目ID
让DeDeCMS的channel标签支持调用栏目描述description及关键词keywords
最后编辑: 郝聪 编辑于2011/03/14 16:08
留下我的网站:http://www.seodalian.com/