请帮助我想使用第一个URI段到我的CodeIgniter网站。
例如,当我打开这些url时,它们会打开我的个人资料:http://www.facebook.com/buddyforever或http://www.myspace.com/zarpio
我怎样才能用CodeIgniter做到这一点?我检查了_remap函数,但是先来的控制器如何隐藏控制器?
发布于 2010-09-01 12:34:08
您可以使用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,在profile的情况下,这将给您一个404 page not found错误。这就是为什么在路由配置中,您需要在users/(.*)之前编写users/profile/(.*)。
有关更多信息,请访问codeigniter URI class documentation
https://stackoverflow.com/questions/3614705
复制相似问题