官方目前最新版伪静态乱码解决方法,官方修复此bug后该方法失效;
正常是:/dance/list-id-1-1.html
最新版:/dance/list-%7Bsort%7D-%7Bid%7D-%7Bpage%7D.html
解决办法:
找到 /cscms/app/helpers/common_helper.php 此文件 大概 378-400行 //HTML转字符
function
str_encode($str){ if(is_array($str)) { foreach($str as $k => $v) {
$str[$k] = str_encode($v); } }else{ if(is_string($str)){
$str=str_replace("",">",$str); $str=str_replace(""",""",$str);
$str=str_replace("'",''',$str); $str=str_replace('{','{',$str);
$str=str_replace('}','}',$str); $str=str_replace("$","$",$str);
$str=str_replace("(","(",$str); $str=str_replace(")",")",$str);
if(!defined('IS_ADMIN')){ $str=str_replace("cscmsphp",'',$str); } } }
return $str; }
改成如下代码
function str_encode($str){
if(is_array($str)) { foreach($str as $k => $v) { $str[$k] =
str_encode($v); } }else{ if(is_string($str)){
$str=str_replace("",">",$str); $str=str_replace(""",""",$str);
$str=str_replace("'",''',$str); $str=str_replace("$","$",$str);
$str=str_replace("(","(",$str); $str=str_replace(")",")",$str);
if(!defined('IS_ADMIN')){ $str=str_replace('{','{',$str);
$str=str_replace('}','}',$str); $str=str_replace("cscmsphp",'',$str);
} } } return $str;}
由于先前有问题的伪静态规则还保存在伪静态配置文件里面;
改完以后在后台各个板块的-板块配置-运行模式-伪静态,依次重新点一下提交,让正常的伪静态规则重新替换到伪静态配置文件里面,即可解决问题;