博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHPCMS V9 分类信息模型 伪静态 htaccess的错误 附带官方分类信息htacces
阅读量:6906 次
发布时间:2019-06-27

本文共 966 字,大约阅读时间需要 3 分钟。

hot3.png

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

转载于:https://my.oschina.net/u/659587/blog/500998

你可能感兴趣的文章
jsp页面无法获取controler层model值解决方案
查看>>
[C++] Swap Two Num
查看>>
详解ABBYY FineReader 12扫描亮度设置
查看>>
线程同步利与弊,线程同步的前提
查看>>
js的escape()、encodeURI()、encodeURIComponent()区别详解
查看>>
python2与python3的区别
查看>>
HDU2196-Computer
查看>>
cpp
查看>>
nginx 报错502Bad Gateway
查看>>
决定转移ubuntu
查看>>
Linux下查看文件内容时去掉空行和#开头的注释行
查看>>
[转载]linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/p
查看>>
Python简易购物车程序
查看>>
mui 关闭除指定页面之外的其他所有页面.
查看>>
反向引用 /1, /2...
查看>>
STM32配置一般过程(持续更新中)
查看>>
第十四天笔记
查看>>
使用正则表达式,取得点击次数,函数抽离
查看>>
网上安全方面的涉及到的方面(详解)
查看>>
UOJ #390. 【UNR #3】百鸽笼
查看>>