设为首页 - 加入收藏
您的当前位置:主页 > CMS教程 > 织梦CMS > 正文

织梦CMS Tags标签提示“系统无此标签,可能已经移除”解决方案

来源:网络收集 点击数: 时间:2018-01-20

通常《织梦CMS Tags标签页以及列表分页伪静态实现》之后,A3站长发现一个新的问题,就是点击某些标签时,会提示:“系统无此标签,可能已经移除!”。

织梦CMS Tags标签提示“系统无此标签,可能已经移除”解决方案

A3站长查询了一下相关资料,原因可能有以下几种,A3站长就分情况来给出解决方案:

一、DEDECMS标签中包含“大写字母”

解决方法:

打开网站跟录下的tags.php文件,将代码(大概在第15行):


  $tag = trim($_SERVER['QUERY_STRING']);
 

修改为:


  $tag = strtolower(trim($_SERVER['QUERY_STRING']));
 

二、DEDECMS标签中包含中文

出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了。

解决方法:

1.把以下函数代码放在$PageNo = 1;下面,大概在第11行:


    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;
}
}
 

2.将代码(大概在第25行):


$tag = FilterSearch(urldecode($tag));
 

修改为:


if(is_utf8($tag)==1) { $tag = iconv("utf-8","gbk",$tag); }
$tag = urldecode($tag);
 

这个作用就是调用上面的函数判断编码 如果是 utf8则转为gbk。这样就完美解决了标签页的编码问题。

栏目分类

A3站长网 站长网 站长网技术网 站长教程网 织梦CMS教程 织梦模板 帝国CMS模板 联系QQ:26991496 邮箱:26991496@qq.com

A3站长网:欢迎您!谢谢您的访问...

Top