首页 > 解决方案 > How to create the multi-level url in Codeigniter?

问题描述

I am trying to create the multilevel URL in Codeigniter and I defined the following route in route.php file

$route['users/(:any)/usersnippet/(:any)'] = 'users/usersnippet/$1';

By this, I want to create the following URL

https://websiteurl.com/users/john-kendey-115643/usersnippets/Tru564Y

How do I create this?

标签: phpcodeignitercodeigniter-3

解决方案


通过这个,我想创建以下 URL

您无需使用CI 路由创建 URL ,而是将 URL 路由到控制器函数并使参数可用于该函数。

您的示例网址

https://websiteurl.com/users/john-kendey-115643/usersnippets/Tru564Y

实际上是一个错误的概念,因为“<code>/user/john-kendey-115643/”之后的所有内容都被视为参数。请参阅CI URL

我会用更简洁和用户友好的 URL 来解决您的问题:

网址:

https://websiteurl.com/users/john-kendey-115643/Tru564Y

路线:

$route['users/(:any)/(:any)'] = 'users/process_users/$1/$2';

控制器

class Users extends CI_Controller {
    
    function __construct()
    {
        parent::__construct(); 
        // load your models
        $this->load->model('Get_user');
        $this->load->model('Get_user_snippet');
    }   
    
    function process_users ($user, $snippet){
        // get userdata
        $data['user']=$this->Get_user->get_the_userdata ($user);
        $data['snippet']=$this->Get_user_snippet->get_the_snippetdata ($snippet);
        // do something with $data
    }

}

模型(Get_user、Get_user_snippet):

// Query the database for the data you need

推荐阅读