Codeigniter _remap函数

时间:2010-09-01 02:45:39

标签: url codeigniter codeigniter-url

请帮助我想在我的CodeIgniter网站中使用第一个URI段。

就像我打开这些网址时打开我的个人资料: http://www.facebook.com/buddyforever 要么 http://www.myspace.com/zarpio

如何使用CodeIgniter执行此操作?我检查了_remap函数,但是先来控制器如何隐藏控制器?

1 个答案:

答案 0 :(得分:9)

您可以使用codeigniter的URL路由...

如果您希望自己的网址为http://www.mydomain.com/zarpio,并且希望其引用your_controller,请执行以下操作。

/config/routes.php

$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`

您可以在控制器中像这样访问它......

$my_name = $this->uri->rsegment(2);

但是,我不建议这种配置URL的方式。更好的方法是......

$route['users/(.*)'] = "your_controller/$1";

这样,您只需将控制器名称your_controller重命名为users

如果您想访问用户的个人资料,您可以这样做......

$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";

考虑路由的顺序。由于您在路线中写了users/(.*),因此它会与users/zarpio以及users/profile/zarpio匹配,并将它们都路由到your_controller/$1,如果是个人资料会给您404 page not found错误。users/profile/(.*)这就是您需要在路由配置中users/(.*)之前写{{1}}的原因。

codeigniter URI class documentation

中的更多信息