请帮助我想在我的 CodeIgniter 网站中使用第一个 URI 段。
就像当我打开这些网址时,它们会打开我的个人资料: http://www.facebook.com/buddyforever 或者 http://www.myspace.com/zarpio
如何使用 CodeIgniter 做到这一点?我检查了 _remap
功能,但是第一个 Controller 如何隐藏 Controller ?
最佳答案
您可以使用 codeigniter 的 URL 路由来做到这一点...
如果您希望您的 URL 是 http://www.mydomain.com/zarpio
并且您希望它引用 your_controller
,请执行以下操作。
/config/routes.php
$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`
您可以像这样在 Controller 中访问它...
$my_name = $this->uri->rsegment(2);
但是我不建议使用这种配置 URL 的方式。更好的方法是......
$route['users/(.*)'] = "your_controller/$1";
这样,您只需将 Controller 名称 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/(.*)
之前编写 users/profile/(.*)
。
关于url - Codeigniter _remap 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3614705/