请帮助我想在我的 CodeIgniter 网站中使用第一个 URI 段。
就像当我打开这些网址时,他们会打开我的个人资料:http: //www.facebook.com/buddyforever 或 http://www.myspace.com/zarpio
如何使用 CodeIgniter 做到这一点?我检查了_remap
功能,但第一个控制器如何隐藏控制器?
请帮助我想在我的 CodeIgniter 网站中使用第一个 URI 段。
就像当我打开这些网址时,他们会打开我的个人资料:http: //www.facebook.com/buddyforever 或 http://www.myspace.com/zarpio
如何使用 CodeIgniter 做到这一点?我检查了_remap
功能,但第一个控制器如何隐藏控制器?
您可以使用 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`
您可以像这样在控制器中访问它...
$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/(.*)
codeigniter URI 类文档中的更多信息