自定义url设置伪静态页面无法打开404错误

迅睿框架 更新 2022-12-02 09:34:17 tangjun

自定义url成功,但伪静态404错误

网站栏目和页面都是自定义网址,url规则里面都是按照需求修改完毕,

修改config/custom.php

现在前台各个链接都是自定义静态链接,但是点击打开后所有自定义链接都是404错误。

各段代码请见附件

16678759532e4e18.txt


rewrite.php添加后所有内容为:

问题:我的动态链接是:

index.php?c=category&id=$1&page=$2

而不是:

index.php?c=category&dir=$1&page=$2


根目录下:.htaccess修改如下


404错误没有显示自己的404页面,而是显示phpstudy的404页面:

  • 原因5:站点使用了伪静态

  • 解决办法:

  • 将伪静态规则删除,或者重新编写正确的伪静态规则,或关闭伪静态配置。

请教大佬这个伪静态规则哪里出问题了?

方案

  • 迅睿框架创始人 #1 · 2022-11-08 10:55:34
    伪静态404必然是解析规则错误,花点时间去分析解析规则
  • 小黄人 18html #2 · 2022-11-08 11:19:22
    不懂别乱改,用默认生成不懂,付费修改
  • tangjun #3 · 2022-11-08 16:18:59

    微信图片_20221108161752
    回复迅睿框架创始人
    为何我的后台seo界面和说明不一样,已经升级到最新版本了。
  • tangjun #4 · 2022-11-09 08:16:26
    回复迅睿框架创始人 我现在全部初始化,现在访问出现500错误是规则没有写好吗?是否栏目设置里面修改后点击后台这个页面就能打开呢?
  • tangjun #5 · 2022-11-09 08:51:32
    栏目信息,点击该栏目。URL已经生效,但是提示500错误。
  • 难忍 #6 · 2022-11-09 13:29:41
    tangjun 查下服务器有不有配置伪静态规则,按官方规则做,完全没问题,如果还没解决,可以私我。
  • tangjun #7 · 2022-11-09 15:09:04
    难忍 我用的phpstudy-小皮 xp.cn. 搭建的本地服务器, 目前配置的.htaccess 位于根目录下。其他规则且不说,rewrite.php 下面这条同我动态页面网址是一致的,但是访问出现404错误。
    "show-([0-9]+)\.html" => "index.php?c=show&id=$1", //【不带栏目路径】模块内容页(show-{id}.html)就是:/index.php?c=show&id=14打开正常,/show-14.html 打开404错误。
  • ♥ 年少的少年。 #8 · 2022-11-09 15:13:18
    规则需要改。因为你的跟默认的不一样!
  • tangjun #9 · 2022-11-09 16:09:40
    ♥ 年少的少年。我的规则是:栏目:目录名称.html 文章名:自定义地址.html
    例:http://127.0.0.1/index.php?c=category&id=1&page=2规则:"([A-za-z0-9 \-\_]+)-([0-9]+)\.html" => "index.php?c=category&id=$1&page=$2", //【不带栏目路径】模块栏目列表(分页)(list-{dirname}-{page}.html)例:http://127.0.0.1/index.php?c=show&id=14
    规则:"([A-za-z0-9 \-\_]+)\.html" => "index.php?c=show&id=$1", //【不带栏目路径】模块内容页(show-{id}.html)例:http://127.0.0.1/index.php?c=category&id=3规则:"([A-za-z0-9 \-\_]+)\.html" => "index.php?c=category&id=$1", //【不带栏目路径】模块栏目列表(list-{dirname}.html)目前:http://127.0.0.1/index.php?c=show&id=14 ;可以打开,但http://127.0.0.1/show-14.html ; 无法打开
  • 小波工作室 #10 · 2022-11-09 17:06:38

    image
    内容和栏目规则冲突了,只能生效一个
  • tangjun #11 · 2022-11-09 17:20:15
    小波工作室 只保留1条规则 "([A-za-z0-9 \-\_]+)\.html" => "index.php?c=show&id=$1", //【不带栏目路径】模块内容页(show-{id}.html)
    自定义地址.html 和 id.html 打开都是404错误,感觉这个rewrite.php不起作用。
  • 王小五 #12 · 2022-11-10 23:00:17

    image
    rewrite.php
    // 判断url是否是来自自定义函数if (CMSURI) { $myfile = WRITEPATH.'mid/'.md5(CMSURI).'.txt'; if (is_file($myfile)) { $id = file_get_contents($myfile); if ($id) { return [ CMSURI => 'index.php?c=show&id='.$id, // 这里写内容的地址 ]; } }}// 自定义---解析规则----结束 "([a-z]+)\/([0-9]+)" => "index.php?c=show&field=yuming&value=$1", // 自定义---解析规则----结束
    // 共享栏目测试规则---解析规则----开始
        "([A-za-z0-9 \-\_]+)\.html" => "index.php?c=category&dir=$1",  //【共享栏目测试规则】模块栏目列表({dirname}.html)
        "([A-za-z0-9 \-\_]+)-([0-9]+)\.html" => "index.php?c=category&dir=$1&page=$2",  //【共享栏目测试规则】模块栏目列表(分页)({dirname}-{page}.html)	
        "([0-9]+)-([0-9]+)\.html" => "index.php?c=show&id=$1&page=$2",  //【共享栏目测试规则】模块内容页(分页)({id}-{page}.html)
    
    // 共享栏目测试规则---解析规则----结束
    custom.phpfunction xxxurl($data) { $author = isset($data['_id']) ? $data['_id'] : $data['id']; $url = "/".$id; dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录 file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件 return $url; //返回我自己的}
    image
  • 王小五 #13 · 2022-11-10 23:13:10

    custom.php

    function xxxurl($data) {

    $author = isset($data['_id']) ? $data['_id'] : $data['id'];

    $url = "xx/".$id;

    dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录

    file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件

    return $url; //返回我自己的

    }

    // 自定义---解析规则(config/rewrite.php )----结束

    "([a-z]+)\/([0-9]+)" => "index.php?c=show&field=id&value=$1",

    // 自定义---解析规则(config/rewrite.php )----结束


    xx 这个你自己改成你想要的也可以不要!id 可以改成你需要的字段

    field=id 这个我独立用的是模块字段

    我用的独立模块,没有改过共享的自定义

  • tangjun #14 · 2022-11-11 15:45:48
    王小五
    function xxxurl($data) {
    
        $author = isset($data['_myurl']) ? $data['_myurl'] : $data['myurl'];
    
        $url = "xx/".$myurl;
    
        dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录
    
        file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件
    
        return $url; //返回我自己的
    
    }
    "([A-za-z0-9 \_\-]+)\.html" => "index.php?c=show&field=myurl&value=$1",
    出错:Parse error: syntax error, unexpected 'xxxurl' (T_STRING), expecting '(' in F:\phpstudy_pro\WWW\config\rewrite.php on line 48
  • 王小五 #15 · 2022-11-11 22:01:36
    myurl  是你新建的字段 搞的什么?
    tangjun
  • 王小五 #16 · 2022-11-11 22:07:25
    function xxxurl($data) {
    
        $author = isset($data['_myurl']) ? $data['_myurl'] : $data['myurl'];
    
        $url = "xx/".$myurl;
    
        dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录
    
        file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件
    
        return $url; //返回我自己的
    
    }
    tangjun 上面代码不能放rewrite.php里面
  • tangjun #17 · 2022-11-13 18:05:59
    王小五 我现在是自定义文件名,字段myurl。
  • 王小五 #18 · 2022-11-14 15:28:34
    代码不放错,或者还错,应该不会有问题的,// 自定义---解析规则----开始// 自定义---解析规则----结束一定要隔开,不然还是404
  • 王小五 #19 · 2022-11-14 15:29:41
    // 自定义---解析----结束
  • 王小五 #20 · 2022-11-18 19:45:27
    自定义怎么样了?
  • tangjun #21 · 2022-11-26 10:46:56
    王小五 不好意思,前段时间工作忙,没时间研究。老是有问题,已经把网址、数据库全部清零。这几天有时间来重头研究。不知道你有什么好的建议。
  • 王小五 #22 · 2022-11-27 12:40:10
    tangjun 先弄独立模块的伪静态
  • tangjun #23 · 2022-11-27 17:17:27
    王小五 请教一下,搜索,静态调用有没有什么好办法。
    <form class="search-form" action="/index.php" method="get">
    <input type="hidden" name="s" value="news">
    <input type="hidden" name="c" value="search">
    <input type="text" placeholder="搜索内容..." name="keyword">
    <input type="submit" value="提交搜索"  />
    </form>
    这个是官方程序,搜索后是动态地址:http://127.0.0.1/index.php?s=article&c=search&keyword=关键词我想调用静态地址:http://127.0.0.1/search/keyword-关键词.html
  • junjun #24 · 2022-11-27 18:43:52
    我现在的动态搜索代码如下:
                        <form   action="{SITE_URL}index.php" method="get" target="_blank">
                        <button class="button_search"></button>
                        <input type="hidden" name="s" value="article">
                        <input type="hidden" name="c" value="search">
                        <input name="keyword" id="s" type="text" value="搜索内容..." onclick="this.value = '';">
                        </form>
  • 王小五 #25 · 2022-11-27 19:02:55
    "search\/(.+)\.html" => "index.php?s=article&c=search&keyword=$1",
    试一试这个!
  • junjun #26 · 2022-11-27 19:14:58
    王小五 我的伪静态正常: "search\/(.+)\.html" => "index.php?s=article&c=search&rewrite=$1", //【共享模块搜索】模块搜索页(分页)(search/{modname}/{param}.html) "search\.html" => "index.php?s=article&c=search", //【共享模块搜索】模块搜索页(search/{modname}.html) "tag\/(.+)\-([0-9]+)\.html" => "index.php?s=tag&name=$1&page=$2", // tag插件分页
    "tag\/(.+)\.html" => "index.php?s=tag&name=$1", // tag插件
  • junjun #27 · 2022-12-02 09:33:06
    满意答案
    总结:放弃了“/栏目名/栏目名/文件名.html”这种文件路径,只能做301跳转,原de的网址完全照搬是行不通的。
  • tangjun #28 · 2022-12-02 09:34:16
    @junjun:这样较大的改动对网站波动较大。
  • 小波工作室 #29 · 2022-12-02 09:34:17
    接单各种复杂的url定义方案,需要的加下方QQ

迅睿系统漏洞

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