codeigniter在url中的方法之前传递参数?

Posted

技术标签:

【中文标题】codeigniter在url中的方法之前传递参数?【英文标题】:codeigniter pass the parameter before the method in the url? 【发布时间】:2013-05-07 15:05:28 【问题描述】:

我试图将参数传递给 CodeIgniter 上的控制器,但我希望 url 是这样的:

mywebsite/profile/user_id/about

不是这样的:

mywebsite/profile/about/user_id

所以有可能吗?我们该怎么做?

【问题讨论】:

可以肯定的是,profile是控制器名称,about是功能? 我不确定,是否有办法这样做。如果有,它将在 routes.php 中。试试$route['about/(:any)'] = '$1/about' 或者$route['(:any)/about'] = 'about/$1' 之类的东西(对路由系统不太熟悉了) 【参考方案1】:

这对我有用,我刚刚测试过:

在 routes.php 中创建一个新路由,如下所示:

$route['profile/(:any)/about'] = 'profile/about/$1';

这将重写 URL,例如“yoursite.com/profile/about/23”到“yoursite.com/profile/23/about”。我假设,“profile”是你的控制器,而“about”是函数。

希望,这会有所帮助!不过,没有使用来自数据库的 ID 对其进行测试。

【讨论】:

如果你的身份证是严格的数字,你最好使用:num而不是:any 不知道 :num,但是,那将是更合适的解决方案

以上是关于codeigniter在url中的方法之前传递参数?的主要内容,如果未能解决你的问题,请参考以下文章

url codeigniter中的多个变量

使用 codeigniter 在 URL 中传递多个变量

使用 CodeIgniter 获取 URL 中的参数

如果未提供 URL 中的参数,则 codeigniter 显示警告错误

由于 URL 中的参数编码,Codeigniter 控制器失败

CodeIgniter 控制器方法参数问题