业务经理

微信扫描以上二维码

028-61286886

技术咨询

自定义url,伪静态,有参数时404错误

迅睿框架 更新 2025-06-22 23:20:20 爬树蜗牛

在内容页使用  自定义url,代码如下

function title_to_slug($title)
 {
     // 转为小写
     $title = strtolower($title);
     // 替换非字母数字字符为 -
     $title = preg_replace('/[^a-z0-9]+/', '-', $title);
     // 去除首尾 -
     return trim($title, '-');
 }
 
 function myurl($data)
 {
     // $py = \Phpcmf\Service::L('pinyin')->result($data['title']); // 把标题转换拼音
     $py = title_to_slug($data['title']); // 把标题转换空格为-
     $url = $data['dirname'] . "/" . $py . ".html"; // url规则:news/pinyin.html
     dr_mkdirs(WRITEPATH . 'myid/'); // 创建id缓存存储目录
     file_put_contents(WRITEPATH . 'myid/' . md5(trim($url, '/')) . '.txt', $data['id']); // 将id号存储缓存文件
     return $url; //返回我自己的
 }

在伪静态时,使用,

 $myfile = WRITEPATH . 'myid/' . md5(CMSURI) . '.txt';
    if (is_file($myfile)) {
        $id = file_get_contents($myfile);
        if ($id) {
            return [
                CMSURI => 'index.php?c=show&id=' . $id, // 这里写内容的地址
            ];
        }
    }

当访问 地址为  **/**.html?bd=aaa   这样时,出现404错误,尝试在  html后添加了 (.*) 还是存在错误

 $url = $data['dirname'] . "/" . $py . ".html";


方案

  • 迅睿官方技术专家 #1 · 2025-06-09 14:21:10
    满意答案

    $myfile = WRITEPATH . 'myid/' . md5(CMSURI) . '.txt';
    改为
    $uuu = CMSURI;
    if (strpos(CMSURI, '?')) {
    list($uuu) = explode('?', CMS_URI);
    }
    $myfile = WRITEPATH . 'myid/' . md5($uuu) . '.txt';

  • 爬树蜗牛 #2 · 2025-06-18 09:34:18
    已经解决问题,顺带想问一下哈,这个能彻底解决么?
  • 爬树蜗牛 #3 · 2025-06-22 23:20:20
    @迅睿官方技术专家:很好的解决了这个问题

迅睿系统漏洞

导入微信文章
导入微信文章(2026-09-15)
优化排版缺少文字情况
GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...