TAG标签在后期维护的时候会进行更改或删除操作,如果对搜索引擎开放,被收录后却弹出如下的画面,对用户体验来说是非常糟糕的,下面看看TAG标签被删除后的正确操作。
系统无此标签,可能已经移除! 你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>> 如果你的浏览器没反应,请点击这里... |
解决方法:
在网站根目录下找到tags.php 此文件,将以下代码替换掉:
$tag = trim($_SERVER['QUERY_STRING']);
换成
$tag = strtolower(trim($_SERVER['QUERY_STRING']));
但该方法对特殊符号确仍然出现上面的错误。
一般情况下,伪静态不会有问题,但后来把原始结果中的网址转化为“跳转方式”,于是问题就出现了,原本的网址是这样的:
http://www.genban.org/tags/TAG%B1%EA%C7%A9.html
被百度转化之后成为:
http://www.genban.org/tags/TAG标签.html
这时又会出现上边的错误,出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了。
遇到大小写兼容问题还有dede搜索,相似的方法。找到plus/search.php,找到
$oldkeyword = $keyword = FilterSearch(stripslashes($keyword));
修改为
$oldkeyword = $keyword = FilterSearch(stripslashes(strtolower($keyword)));
还是有部分网友遇到遇到相似的问题,提供以上方法解决,不及时修改过来,TAG标签被收录,但是别人访问的时候却提示:TAG标签已移除,用户体验是相当差的。