Codeigniter:删除特定控制器上的URI段

时间:2013-09-03 11:18:57

标签: php codeigniter redirect uri

我有一个名为cart的控制器,其功能很多。

我只需要这个特定的控制器,将第二段“重定向”到另一段,具体来说:

http://www.domain.com/cart/music应显示cart/show/music功能。

我尝试过:

class Cart extends MY_Controller {

    public function show(){
        $routes['cart/musica'] = 'cart/show/$1';
        //More code...
    }

} 

这是我在其他答案中看到的,但不能使它起作用,实际上对我来说似乎并不合适。

此“重定向”仅对Cart class中的某些功能有效。 怎么办呢?

2 个答案:

答案 0 :(得分:4)

您应该写入/application/config/routes.php

$route['cart/music'] = 'cart/show/$1';

注意:使用$route代替$routes

如果你想设置动态,请像这样使用。正则表达式允许alpha-numeric字符

$route['cart/([a-zA-Z0-9]+)'] = 'cart/show/$1';

或者您可以允许所有字符any,但这不符合逻辑:

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

答案 1 :(得分:0)

config/routes.php添加以下内容

 $route['cart/(:alpha)'] = "cart/show/$1";