phpcms v9 分类信息模型时,我的遇到这个问题,php
list-7---0---1.htmlhtml
V9 分类信息在参数为空,默认为空,致使HTACCESS伪静态没法有效读取,修改htaccess太麻烦了,并且虚拟主机还不能改。
解决办法:
打开phpcms/libs/functions/autoload/info.func.php (分类信息自带的函数)
在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,不然会冲突。函数