【问题标题】:PHP codeigniter - multiple parameters in routes?PHP codeigniter - 路由中的多个参数?
【发布时间】:2015-09-13 19:15:16
【问题描述】:

我的config/routes.php有这个:

$route['music/artist/(:any)'] = "music/artist/index/$1";

我在 controller/music/ 和 index 方法中有一个艺术家控制器。

因此,如果我使用 domain.com/music/artist/michael 访问浏览器,然后在控制器中使用以下行,我可以获取数据 michael。

$this->uri->segment(3);

如果我错了,请纠正我,但这是真正的问题。

现在我想把这个放在链接上。

domain.com/music/artist/michael/video/beat-it/

我想在艺术家控制器内部有一个视频功能,并且我想在里面获取动态数据,michael 和 beat-it。

所以路线配置我有这些:

$route['music/artist/(:any)'] = "music/artist/index/$1";
$route['music/artist/(:any)/video/(:any)'] = "music/artist/video/$1/$2";

如果我转到视频链接,它似乎只是点击了索引功能。

如何使视频链接正常工作?

【问题讨论】:

    标签: php codeigniter routes


    【解决方案1】:

    路由将按照它们定义的顺序运行。较高的路线总是优先于较低的路线。

    切换路线的位置。大多数特定的路由都需要首先解析,因为(:any) 占位符会在那里取走任何东西。

    $route['music/artist/(:any)/video/(:any)'] = "music/artist/video/$1/$2";
    $route['music/artist/(:any)'] = "music/artist/index/$1"; 
    

    Reference.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 2020-05-31
      • 2016-08-30
      • 1970-01-01
      相关资源
      最近更新 更多