DedeCMS提示“系统无此标签,可能已经移除”的完美解决方法
好久没给大家发表原创教程了,今天在这里给大家发表一篇在dedecms织梦系统下关于标签错误的问题及解决方法。
可能一些朋友遇到过这样的问题,这个问题提示的错误信息如下:
系统无此标签,可能已经移除! 你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>> 如果你的浏览器没反应,请点击这里... |
该问题可能出现的前提一:DEDECMS标签中包含“大写字母”
解决方法:
在网站根目录下找到tags.php 此文件,将以下代码替换掉:
$tag = trim($_SERVER['QUERY_STRING']);
换成
$tag = strtolower(trim($_SERVER['QUERY_STRING']));
该问题可能出现的前提二:DEDECMS标签伪静态后中文标签的问题:
一般情况下,伪静态不会有问题,但是百度自打3B大战之后,把原始结果中的网址转化为“跳转方式”,于是问题就出现了,原本的网址是这样的:
http://www.zuola.net/tags_%D7%EE%BB%F0%C8%ED%BC%FE%D5%BE.html
被百度转化之后成为:
http://www.zuola.net/tags_做啦.html
这时又会出现上边的错误,出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了,详细教程可参考《dedecms5.7完美tag标签伪静态》一文。
解决后的网址示例(复制到浏览器打开):http://www.zuola.net/tags_吴莫愁.html
另外网上还有一个方法:
在根目录找到”tags.php”文件,找到以下代码:
$tag = FilterSearch(urldecode($tag));
将其修改为:
$tag = urldecode($tag);
这个实在是不解,把FilterSearch删除?如何检索标签???不知道为什么这样做!