欢迎大家加入创想工作室QQ群 网络瘫痪上不了网?电脑出故障?找破解软件?加入创想工作室QQ群,向大神求助,一步解决问题!QQ群号码:326338868[点此获取更多QQ群]

V9顶级栏目或二级栏目设置生成到根目录时其子栏目访问出错的解决办法

 
最近在改动网站URL结构的时候发现一处问题(可能不算bug),就是设置了顶级栏目或者二级三级栏目生成到根目录后,它下面的子栏目打不开,发现系统也把子栏目生成到根目录了以至于跟系统的路径不一致。网上搜索了下很多人都遇到此问题不知道怎么解决,现在花了点时间把解决办法整理出来,供遇到此问题的鞋童参考!
 
下面是我网站的栏目URL规则
 
url规则设置
 
下面是我网站的栏目结构
 
 
物流线路
   |
   ——福建省
 
V9顶级栏目或二级栏目设置生成到根目录时其子栏目访问出错的解决办法
 
如果把顶级栏目“物流线路”设置生成到根目录,那么其子栏目“福建省”对应的URL为“wuliuxianlu/fujian/”,但是在后台生成栏目后,访问“福建省”栏目会出现404错误,检查发现栏目HTML路径没错,但是系统也把这个子栏目生成到根目录了,自然我们访问会出现404了。
 
V9顶级栏目或二级栏目设置生成到根目录时其子栏目访问出错的解决办法
 
V9顶级栏目或二级栏目设置生成到根目录时其子栏目访问出错的解决办法
 

下面是二种解决办法

 
一、不修改文件的解决办法
 
经过测试,只需要先更新栏目缓存再生成栏目页即可解决这个问题。
 
先更新栏目缓存再生成栏目页即可解决
 
二、修改文件的解决办法
 
这样不更新栏目缓存直接生成栏目页就可以解决这个问题。
 
解决办法如下
 
找到 phpcmsmodulesadmincategory.php 大概573行,找到以下代码注释或者删除
 
                        if ($setting['creat_to_html_root']) {
                                return '';
                        } else {
                                $arrparentid = explode(',', $arrparentid);
                                $arrcatdir = array();
                                foreach($arrparentid as $id) {
                                        if($id==0) continue;
                                        $arrcatdir[] = $this->categorys[$id]['catdir'];
                                }
                                return implode('/', $arrcatdir).'/';
                        }
 
然后添加下面代码
 
                        if ($setting['create_to_html_root']) return '';
                        if ($this->categorys[$catid]['parentid']) {
                                $dir = $this->categorys[$this->categorys[$catid]['parentid']]['catdir'].'/'; //得到父栏目的英文目录 如:news/
                                return $this->get_parentdir($this->categorys[$catid]['parentid']).$dir; //父栏目路径 = 爷爷栏目路劲+父栏目英文目录 news/+china/
                        }else{
                                return $dir;
                        }
 
然后进后台=>内容=>栏目管理=>更新栏目缓存,最后更新全站缓存和批量更新栏目页。经本人多次在测试,在任何栏目结构下完美无错,问题全部解决!!!
  • 延伸阅读:
  • phpcms2008 URL规则详解

    © copyright 2002-2024, 22BA.COM All Rights Reserved

    网站备案号:粤ICP备19114910号

    ChuangXiang Design Studio - WebDesign & Internet Marketing

    关于我们业务范围联系我们开心一刻网站地图

    QQ群一:326338868QQ群二:78712271

    QQ群三:193078177

    邮箱:news@22ba.com

    地址:深圳市福田区金田路现代国际大厦2606