为什么在codeIgniter路由上使用$ 1。

时间:2016-05-18 12:15:51

标签: php codeigniter

这一行的含义是什么以及使用$ 1的原因?我是框架的初学者。

 $route['(:any)'] = 'pages/view/$1';

感谢。

1 个答案:

答案 0 :(得分:3)

如上所述,$route['(:any)']将匹配任何网址,因此请将其他自定义路由放在“ catch-all ”路线之前:

$1将是(:any)组匹配的任何内容 - 实际上是任何内容。无论你添加什么,都将作为页面控制器中view方法的参数传递。

在这个例子中,你告诉CI,任何使用login / john之类的参数登录的东西将进入你的home / bacon / john(:any)将匹配所有字符串和整数,如果你使用(:num)它只会匹配整数参数,如

$route['login/(':num')'] = 'home/bacon/$1'

$route['(:any)'] = 'pages/view/$1';表示您在网址上输入的任何内容都将转到页面/查看/ $ 1,这里的$ 1是您要传递给控制器​​/方法示例的参数

$route['login/(:any)'] = 'home/bacon/$1';

在此配置中,您指定如果URL登录后像login / 1234那样有一个整数,如果您不知道要传递多少参数,则希望它重定向到home / bacon / 1234您可以尝试$route['login/(:any).*'] = 'home/bacon/$1'更多内容,可以在

上阅读

https://www.codeigniter.com/user_guide/general/routing.html