【问题标题】:CodeIgniter Route pass param in default route默认路由中的 CodeIgniter Route 传递参数
【发布时间】:2018-05-04 09:42:50
【问题描述】:

假设我开发了一个网站 www.example.com, 现在我想在域名之后传递一个参数。例如www.example.com/param。这可能吗?

我的默认路线

【问题讨论】:

标签: .htaccess codeigniter routes


【解决方案1】:

您可以将参数传递给默认路由,如下所示。

routes.php

$route['default_controller'] = 'pages'; 
$route['about'] = 'pages/about'; 
$route['(.*)'] = 'pages';

你应该在代码的最后一行调用$route['(.*)'],否则如果你在浏览器中输入www.example.com/about 关于页面 URL,它将重定向到default controller方法。

$route['(.*)'] : 这意味着你可以在 URL 中传递无限的参数

使用可以使用$this->uri->segment()$this->uri->segment_array()来收集函数中的参数

例子: 如果你的网址是这样的

www.example.com/param1/param2/param3/param4

public function index(){
    $param1 = $this->uri->segment(1); // return `param1`
    $param2 = $this->uri->segment(2); // return `param2`
    $param3 = $this->uri->segment(3); // return `param3`
    $param4 = $this->uri->segment(4); // return `param4`

    // OR
    $paramArray = $this->uri->segment_array(4); // all parameter in Array format
}

【讨论】:

    猜你喜欢
    • 2013-05-11
    • 2023-03-19
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2016-08-21
    • 2021-01-08
    相关资源
    最近更新 更多