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

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,不然会冲突。函数

相关文章
相关标签/搜索