联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
模块表单,如何设置伪静态并且继承内容的自定义URL
类型:迅睿CMS 更新时间:2020-02-24 15:17:12

PHP程序里面

模块表单如何设置伪静态并且继承内容的自定义URL

现在文章内容URL是  www.xxx.com/myurl

伪静态规则是  "(.+)"   =>    "index.php?s=school&c=show&field=myurl&value=$1",   这里是生效的。

现在想要格式 www.xxx.com/myurl/news 这样的地址表单news继承上级内容的目录

发现模块表单这里无论怎样写伪静态都不会生效

"(.+)\/news" => "index.php?s=school&c=news&m=index&cid=$1",

希望大神帮我设置下

实现内容下模块表单的列表页 www.xxx.com/myurl/news

实现内容下模块表单的内容页 www.xxx.com/myurl/news/1.html

这样的规则 谢谢了

回帖
  • #1楼    迅睿框架创始人
    2020-02-24 13:59:48
    Chrome 0
    模块表单的url是必须传入模块的内容id才能实现,你这种思路框架是实现不了的,必须开发开发思路我建议这样1、新建一个中间控制器来帮助url找到文章的id,再定向到模块表单2、在rewrite.php识别文件中转向到新的中间控制器
  • 易学习
    #2楼    易学习
    2020-02-24 14:11:25
    Chrome 0
    1 表单控制器打开,把函数体改加一句
    public function _Home_List() {
        
        $myurl = $_GET['myurl'];
        $data = $this->content_model->get_data(0, 0, ['field'=>'myurl', 'value'=>$myurl]);
        $_GET['cid'] = $data['id']
        parent::__construct(...$params);
        parent::_Home_List();
        
    }
    2 rewrite.php这样写
    "(.+)\/news" => "index.php?s=school&c=news&m=index&myurl=$1", // 写前面,但是有点冲突,可以先把"(.+)"删除
  • 清萌网络科技
    #3楼    清萌网络科技
    2020-02-24 15:05:12
    Firefox 73.0 0
    易学习 好难啊哥 这个加进去有点报错 现在就不加那个自定义的url了这个模块表单的伪静态规则 "school\/news\/([0-9]+)\.html" => "index.php?s=school&c=news&m=index&cid=$1",直接访问地址 www.xxx.com/school/news/1.html 生效了但是从内容点击下面这个链接入口进去还是动态页面 ,我很纳闷
    <li><a href="{router::mform_list_url("news", "$id", "school")}">院校资讯</a></li>
    /index.php?s=school&c=news&m=index&cid=1大哥帮忙看看
  • 易学习
    #4楼    易学习
    2020-02-24 15:07:51
    Chrome 0
    <li><a  target="_blank" href="/school/news/{$id}.html ">院校资讯</a></li>
    满意答案
  • 清萌网络科技
    #5楼    清萌网络科技
    2020-02-24 15:17:12
    Firefox 73.0 0
    @易学习:可以这样解决 非常感谢