CodeIgniter可选参数
我正在尝试使用CI中的路由创建注册表单CodeIgniter可选参数,codeigniter,routing,routes,Codeigniter,Routing,Routes,我正在尝试使用CI中的路由创建注册表单 signup被重新路由到user/signup 但是我的注册函数可以包含一个参数:函数注册($type=1) 如何通过路由选择此选项?我尝试了$route['signup/?(:num)]='user/signup/$1',但是当我要去/signup的时候,我得到了一个404,只有/signup/1/起作用。表达这一点最清晰的方式可能是声明两条路线: $route['signup'] = "user/signup"; $route['signup/(:nu
signup
被重新路由到user/signup
但是我的注册函数可以包含一个参数:函数注册($type=1)
如何通过路由选择此选项?我尝试了
$route['signup/?(:num)]='user/signup/$1'
,但是当我要去/signup
的时候,我得到了一个404,只有/signup/1/
起作用。表达这一点最清晰的方式可能是声明两条路线:
$route['signup'] = "user/signup";
$route['signup/(:num)'] = "user/signup/$1";
对于在适当时候阅读本文的任何其他人-我相信答案应该是
$route['signup/?(:num)')]
,这也使得数字成为可选的。我在其他方面也有类似的问题。@Ukuser32的答案的问题在于它允许接受像signup69这样的URI,这在本例中可能是无害的,但在一般情况下是不可取的。只需将斜杠与捕获的:num放在一起
$route['signup(/:num)?'] = "user/signup$1"
请注意,如果您有多个可选段,那么您需要将它们嵌套……这很好,我没有想到,我正试图找出如何使其可选。谢谢编辑似乎不起作用,它似乎没有发送参数。谢谢,我想我更喜欢你的第一个解决方案,更容易阅读/记住。@Wesley谢谢!这个小提示节省了很多时间!