解决带目录的文章地址,栏目可能会显示不对问题

迅睿框架 更新 2024-01-18 14:34:23 迅睿粉丝


解决带目录的文章地址,栏目显示不对问题.

 这文章本来是

/live/ceshilanmu2/show/47.html这个地址,

但是你换了栏目,手动输入为

/live/ceshilanmu/show/47.html


换了栏目地址,实际ceshilanmu这栏目没有47.html这个文章,本应显示404才对,但它即显示了.

而且上下不一致,

2024-01-18 14-17-27屏幕截图



解决:

1./dayrui/Fcms/Control/Show.php文件:

// 初始化模块
$this->_module_init($mid);


上方加入:

//lenix 增加dir判断 ,解决栏目显示串台问题,目前适用于带目录的文章地址

$dir = \Phpcmf\Service::L('input')->get('dir');
$dir = str_replace(array('..', '\\', '/'), '', $dir);


$row0 = \Phpcmf\Service::M()->table(SITE_ID.'_'.$mid.'_index')->get($id);
$articalcatid=$row0['catid'];
$catinfo=\Phpcmf\Service::M()->table(SITE_ID.'_share_category')->get($articalcatid);
$finddirname=$catinfo['dirname'];
if ($finddirname!=$dir){
$this->goto_404_page(dr_lang('栏目地址错误'));
}


2.config/rewrite.php中加入

"(([A-za-z0-9 \-\_\/]+)([0-9]+?)([\-]*)([0-9]*)\.html)\/?(?:\?(.*))?$" => "index.php?c=show&dir=$2&id=$3&page=$5",  //【带栏目路径】模块内容页({dirname}/{id}.html)  // 增加dir判断


方案

  • 迅睿框架创始人 #1 · 2024-01-18 14:31:45
    这种篡改系统文件的方法仅供学习研究,不建议放到正式环境,推荐用钩子来实现:module_show_share
  • 迅睿粉丝 #2 · 2024-01-18 14:34:23
    回复迅睿框架创始人 好的,感谢.

迅睿系统漏洞

GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...
自定义存储
自定义存储(2026-08-30)
同步服务器端通用版实现,统一管理端、CMS 端和浏览器直传的提示与错...
GeoSeo工具箱
GeoSeo工具箱(2026-08-29)
新增 bing推送 新增 IndexNow推送 新增 baidu...
外贸多语言建站
外贸多语言建站(2026-08-27)
新增阿里云专业版入口 新增阿里云自动识别字符格式
Querylist渐进式采集
Querylist渐进式采集(2026-08-26)
增加范围截取规则
实时任务
实时任务(2026-08-26)
补充并整理完整使用说明、历史版本更新日志,统一帮助页样式。