本日志标题:帝国CMS的tag网址允许中文显示的修改方法        [2021-3-18]

tag的作用很明显,参与搜索引擎的优化排名,提升站点权重很有帮助。

尤其是tag是中文时,参与排名的效果更好。而帝国cms支持的tag中文是url编码了的,链接方式和浏览器地址栏很不友好。

比如我希望的方便优化的tag列表是这样的

https://www.3826946.com/tag/春分

这样的url在参与关键词“春分”时就有不小的优势——中文直接显示了

但实际上帝国cms在生成的页面中网址是这样的

https://www.3826946.com/tag/%E6%98%A5%E5%88%86

这里,%E6%98%A5%E5%88%86 其实就是 春分的url编码

所以,如何来调整成想要的。主要进行两块操作。


第一,是解决生成的tag链接是中文而不是编码了的

帝国cms7.5版本,打开/e/class/目录下的t_functions.php

找到2244行,或者直接搜索这段代码替换一下



urlencode($r[$i])



替换成这个



iconv('GBK', 'utf-8', $r[$i])



因为我的帝国cms是gbk版本的,所以把tag链接的中文保持显示为汉字的情况下,转换utf-8保证链接


第二,是解决前台tag列表的显示问题。

因为只生成了有中文的链接不行,前台页面来查询中文tag时查不到,所以需要多tag列表进行调整。

打开/e/tags/目录下的index.php文件

找到45行,这个代码


$tagname=RepPostVar($_GET['tagname']);



修改为



$tagname=RepPostVar(iconv('utf-8', 'GBK', $_GET['tagname']));


意思就是在查询tag时把浏览器自动对汉字编码的utf-8格式转换成gbk

第三,显示中文tag的注意点

1、模板内需要确保使用tag名称显示标签,而不是tagid。


[showtags]'selfinfo',5,0,'',0,'',' ',0,'','tagname'[/showtags]



2、文章的tag内容要有,否则生成了是空的。


当然,使用tag最好是能做伪静态。如何启动伪静态,下一篇文章继续。



在百度搜索完整的帝国CMS的tag网址允许中文显示的修改方法内容,或者用Google搜索相关的更多内容

By [cnbruce] at 23:39:04 | 评论 [0] | 浏览 [3387] | TrackBack| 返回顶部

About Comments
此篇日志暂时没有相关的说明和评论。:)


Post a Comment
呢称: 验证码: 
禁止笑脸转换 禁止UBB | 缩放输入框:6 5 | [Ctrl+Enter提交](1000个字符限制)