微信自媒体

【正解】DedeCMS提示信息!系统无此标签,可能已经移除!

字号+ 作者:tony 来源:一派资讯 2018-01-08 我要评论

我们在使用dedecms也就是织梦系统的时候,经常会遇到一个问题,就是在阅读完一篇文章后,结尾处有一个TAG标签,点击一下会弹窗报错,提示:系统无此标签,可能已经移除!本

最近一直在研究织梦dedecms这套程序的使用,发现不少的BUG,好在网上有很多大神提供了一些解决方法,可以去挨个修复,但是也有些教程只是为了转载赚流量,内容陈旧甚至是错误,这就有点误人子弟了,为此我这里有必要写一篇全新的,关于DedeCMS提示信息!系统无此标签,可能已经移除!的教程,我亲自动手操作后去掉网上一些不对的地方,加了一些我的心得,希望能帮助到你。
【正解】DedeCMS提示信息!系统无此标签,可能已经移除!
今天写了一篇名为亲测!织梦dede文章图片自动添加Alt属性为文章标题的方法的文章,在看到结尾的时候一个醒目的图片Alt标签,点进去就提示我DedeCMS提示信息!系统无此标签,可能已经移除!我一看,这绝对是BUG啊,于是在百度里开始找相关的教程,帖子虽多但说的内容却大同小异,撇开这个不说,我先随便按照一个教程试试水吧,试了一个不行,再试一个还不行,再试一个发现可以了。这里把靠谱的方法分享给大家:
分析
系统无此标签,可能已经移除!产生的原因
我总结了一下,出现这个提示一共有3个原因。
①TAG标签中存在英文大写字母
②伪静态链接中还有中文
③TAG标签是UTF8而你织梦程序是GBK

系统无此标签,可能已经移除!解决方法
针对以上问题,我决定由浅入深,先用最简单的方法去处理,如果不行,再换其他的,从大小写开始依次处理。
dedecmstag标签不支持大写字母的具体修改方法:
打开网站根目录的tags.php文件(解决tags大写不认的问题),把下面一行代码
$tag = trim($_SERVER['QUERY_STRING']); 
换成
$tag = strtolower(trim($_SERVER['QUERY_STRING'])); 
strtolower这个函数的作用就是把所有字符转换为小写,保存后刷新一下页面,重新点击TAG标签,看看还会不会提示“系统无此标签,可能已经移除!这句话,如果修复好了,那恭喜你。
如果不行,那你还是把刚才做过的修改撤销,把代码还原成最初的样子,请继续往下看
一般情况下,伪静态不会有问题,但是百度自打3B大战之后,把原始结果中的网址转化为“跳转方式”,于是问题就出现了,原本的网址是这样的:
http://www.xxx.com/tags_%D7%EE%BB%F0%C8%ED%BC%FE%D5%BE.html
被百度转化之后成为:
http://www.xxx.com/tags_我是汉字哦.html
这时又会出现上边的错误,出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了,
在$tag = trim($_SERVER['QUERY_STRING']);下面添加下面的代码,切记是下面,否则不行
function is_utf8($tag) 
if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$tag) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$tag) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$tag) == true) 
return true; 
else 
return false; 
}
在$tag = FilterSearch(urldecode($tag));这句和上面位置添加下面一句,切记是上面,否则失败
 
if(is_utf8($tag)==1) { $tag = iconv("utf-8","gbk",$tag); }
这个作用就是调用上面的函数判断编码 如果是 utf8则转为gbk!
 
如果你现在保存刷新的话,中文是可以了,但是部分tag还是会出错的,
 
比如:JvavScript  SEO  等等这样子的(区分大小写),所以还差最后一步
 
把$tag = FilterSearch(urldecode($tag));注释了,添加下面的这行
 
$tag = urldecode($tag);
也就是去掉 FilterSearch();
完成了以上操作,dedecms提示!系统无此标签,可能已经移除!的问题就解决了,刷新页面重新点击试试效果吧。
【正解】DedeCMS提示信息!系统无此标签,可能已经移除!
已经转化成小写了。
系统无此标签,可能已经移除!注意事项
还是老样子,我们使用织梦程序,喜欢对文件的访问权限做限制,所以提醒一下,修改文件前请确保有可读写权限,要不辛苦忙活半天保存不了就尴尬了。
还有一点不知道大家注意到了没有,就是本文第一张,弹窗提示的那个,上面显示的“
DedeCMS提示信息!”这个是版权,如果是用户看到的话就不太好了,虽然我们本文对系统无此标签,可能已经移除!的问题做了修复,但是这个弹窗可能不止应用于这一个地方,所以究其根源,还是要找到DedeCMS提示信息!”这个几个字所在的文件,把它修改成自己网站的名字。详细操作,请点击下面的链接访问。
织梦cms信息提示“DedeCMS提示信息”字样在哪里修改


 

版权所有,转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

自橙一派微信第三方
相关文章
  • 织梦的tag标签页静态化后怎么在文章页调用

    织梦的tag标签页静态化后怎么在文章页调用

  • 教你dedecms织梦tag标签页面怎么实现静态化

    教你dedecms织梦tag标签页面怎么实现静态化

微信人家微信第三方平台
微信刮刮卡制作
自橙一派微信第三方