联系官方销售客服

1835022288

028-61286886

应用插件 版主:官方插件技术组
栏目页网址加url参数时 会返回404的问题
类型:迅睿CMS 更新时间:2024-01-06 17:20:22 rewrite.php
插件 建站系统 V3.16
应用作者 迅睿官方团队
发布时间 2022-03-01 15:30:06
更新时间 2024-11-11 14:53:11

url加参数时404问题.

如下:

http://www.domain.com/hulianwang/  这个栏目网址,如果加参数如

http://www.domain.com/hulianwang/?ref=xxxxxx

则报404找不到网页错误.

这个是不合理的.

我是伪静态

,我尝试在config/rewrite.php中加入

"([A-za-z0-9 \-\_]+)(.*)" => "index.php?c=category&dir=$1",  //【带栏目路径】模块栏目列表({dirname})  

上面一行,比官方的多了一个(.*),但不成功!!!!

我深入研究源码,在

/dayrui/Fcms/Init.php中的第382行,

if ($key == CMSURI || preg_match('/^'.$key.'$/U', CMSURI, $match)) {


去掉/U参数,就可以了

如下:

if ($key == CMSURI || preg_match('/^'.$key.'$/', CMSURI, $match)) {


不知这样改会影响其它地方访问吗?

目前测试了一些页,没问题.

请官方解答.



插件教程:https://www.xunruicms.com/doc/app-928.html

回帖
  • 小波工作室
    #1楼    小波工作室
    2023-12-11 20:56:29
    Chrome 0
    "([A-za-z0-9 \-\_]+)\/\?(.*)" => "index.php?c=category&dir=$1&not301=358", //【带栏目路径】模块栏目列表({dirname})\
  • 迅睿粉丝
    #2楼    迅睿粉丝
    2023-12-11 21:02:32
    Chrome 0
    小波工作室 这个加参数 倒 是能访问了.但是不加参数 http://www.domain.com/hulianwang/ 又不能访问了
  • 迅睿粉丝
    #3楼    迅睿粉丝
    2023-12-11 21:16:58
    Chrome 0
    解决 了:要加3行.//栏目页一共要加3个:"([A-za-z0-9 \-\_]+)" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname}) yuan "([A-za-z0-9 \-\_]+)\/\?(.*)" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname})\ add fix url 加参数 "([A-za-z0-9 \-\_]+)\?(.*)" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname})\ add fix url 加参数
  • 迅睿粉丝
    #4楼    迅睿粉丝
    2023-12-16 12:17:03
    Chrome 0
    解决了,用 "([A-za-z0-9 \-\_]+)\/?(?:\?(.*))?$" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname})
  • 迅睿粉丝
    #5楼    迅睿粉丝
    2023-12-16 12:19:35
    Chrome 0
    不过,如果转其它参数到控制器?如http://www.xxxxx.com/hulianwang/?aaaa=555&bbbb=555666 如果在控制器中用$_GET获取aaaa和bbbb参数?我用这个:"([A-za-z0-9 \-\_]+)\/?(?:\?(.*))?$" => "index.php?c=category&dir=$1&$2", //【带栏目路径】模块栏目列表({dirname}) 不行.请指教,谢谢
  • 迅睿粉丝
    #6楼    迅睿粉丝
    2023-12-16 12:23:08
    Chrome 0
    小波工作室
  • 迅睿粉丝
    #7楼    迅睿粉丝
    2023-12-16 12:49:45
    Chrome 0
    内容页:"([A-za-z0-9 \-\_\/]+([0-9]+)\.html)\/?(?:\?(.*))?$" => "index.php?c=show&id=$2", //【带栏目路径】模块内容页({dirname}/{id}.html)
    满意答案
  • 迅睿粉丝
    #8楼    迅睿粉丝
    2023-12-16 12:55:20
    Chrome 0
    迅睿粉丝 可以了,可以用$_REQUEST获取其它参数!!!
  • 迅睿粉丝
    #9楼    迅睿粉丝
    2024-01-06 17:20:22
    Chrome 0
    @迅睿粉丝:此问题按这个已经解决了