一、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

 

摘自 bloghuman.com/dedecms-tag-urlrewrite-apache-iis/

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。