PHPCMSV9分类信息模型伪静态htaccess的错误
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,否则会冲突。
分享标题:PHPCMSV9分类信息模型伪静态htaccess的错误
网页URL:http://ybzwz.com/article/cjedig.html