请帮助我想在我的CodeIgniter网站中使用第一个URI段。
就像我打开这些网址时打开我的个人资料: http://www.facebook.com/buddyforever 要么 http://www.myspace.com/zarpio
如何使用CodeIgniter执行此操作?我检查了_remap
函数,但是先来控制器如何隐藏控制器?
答案 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}}的原因。