Codeigniter - URI路由不起作用

时间:2015-11-01 13:50:22

标签: php codeigniter

我当前的URI是什么样的:localhost/home/savedlocalhost/home/view

我希望它看起来像:localhost/savedlocalhost/view

我的home控制器是什么样的:

class Home extends CI_Controller
{
    public function index() {
        //stuff
    }
    public function saved() {
        //stuff
    } 
    public function view() {
        //stuff
    }
}

我希望从网址中删除home,以便用户只需访问我家中的localhost/saved和其他功能,而无需在网址中输入home

我尝试将这些文件放在routes.php文件中,但没有运气。

$route['home/(:any)'] = "$1";
//that didn't work so I tried putting this:

$route['home/(:any)'] = "/$1";
//that didn't work either.

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

尝试这样的事情

vlog test_genvar.v +define+myint="22"
vsim work.test
run -all
  

输出 - $route['saved'] = 'home/saved'; $route['view'] = 'home/view'; www.example.com/saved

答案 1 :(得分:1)

组规则是:

$route['(:any)'] = 'home/$1';

在路由的末尾设置此规则,因为(:any)占位符是贪婪的,如果没有特别指出,它将接受来自URL的任何内容。含义:如果您的控制器Product.php具有方法public function show($id){/*some code*/}并且想要接近,则应在上述规则之前指出路由。

  

路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。

Docs