PHPCMS V9 分类信息模型 伪静态 htaccess的错误

摘要:phpcms v9 分类信息模型时,个人遇到这个问题, list-7---0---1.html V9 分类信息在参数为空,默认为空,导致HTACCESS伪静态无法有效读取,修改htaccess太麻烦了,而且虚拟主机还不能改。解决办法:打开phpcms/libs/functions/autoload/info.func.php (分类信息自带的函数)在38行 foreach ($fields a

V9 分类信息在参数为空,默认为空,导致HTACCESS伪静态无法有效读取,修改htaccess太麻烦了,而且虚拟主机还不能改。

解决办法:
打开phpcms/libs/functions/autoload/info.func.php (分类信息自带的函数)

1 (55).jpg
在38行 foreach ($fields as $_v=>$_k) {
下面增加一行
//修正参数为空时 htaccess 无效
if($_GET[$_v]==\'\')$_GET[$_v]=0;


在行58 if($_k==\'page\') $_v=1;
增加一行
if($_v==\'\')$_v=0;

顺带一条官方默认的分类信息伪静态

RewriteRule ^list-([0-9]+)-(.+)-(.+)-(.+)-(.+)-(.+)-(.+)-(.+)-(.+).html$ index.php?m=content&c=index&a=lists&catid=$1&city=$2&agent=$3&bedroom=$4&pay_type_int=$5&price=$6&rent_mode=$7&zone=$8&page=$9

补充 如果用到联动菜单 如地区 还需再做调整

if(empty($array)) {
$array = $_GET;

} else {
$array = array_merge($_GET,$array);

}

替换到
下面的位置

if(strpos(URLRULE,\'.html\') === FALSE) $urlpars .= \'&\'.$_v.\'={$\'.$_v.\'}\';
else $urlpars .= \'-{$\'.$_v.\'}\';


第2步
if($toppatentid == $linkageid) $linkageid_tmp = \'\';
改为 if($toppatentid == $linkageid) $linkageid_tmp = \'0\';


}


}

PS:把空白参数都默认为0了,所以字段的数值不要设置为0,否则会冲突。