PHPCMS V9 分类信息模型 伪静态 htaccess的错误 附带官方分类信息htacces

phpcms v9 分类信息模型时,个人遇到这个问题,

list-7---0---1.html

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,否则会冲突。

你可能感兴趣的:(PHPCMS V9 分类信息模型 伪静态 htaccess的错误 附带官方分类信息htacces)