1

我正在尝试这样做:http://domain.com/foo/usernamehttp://domain.com/foo/username/baz但我无法弄清楚如何使用路由使其工作。 php

这是我在 routes.php 中的内容

$route['foo/(:any)'] = foo_controller/index/$1;
$route['foo/(:any)/baz'] = 'foo_controller/baz/$1';

这是我的 foo_controller.php

class Foo_Controller {
    function _construct() {}

    function index() {
        $username = strtolower($this->uri->segment('2'));

        ...
    }

    function baz() {}
}

当我转到 /foo/username/baz 时,我得到的是它只是加载索引方法。

请帮忙?

4

2 回答 2

0

切换并使用双引号:

$route['foo/(:any)/baz'] = "foo_controller/baz/$1";
$route['foo/(:any)'] = "foo_controller/index/$1";

和控制器方法:

function index($username = false) {
     $username = strtolower($username);

    ...
}

function baz($username = false) {
     $username = strtolower($username);

    ...
}
于 2012-12-31T09:08:54.210 回答
0
$username 

必须在 baz 方法和路由中:

$route['foo/baz/(:any)'] = 'foo_controller/baz/$1';

我认为/foo/username/baz是错误的 uri。

** 我英语不好。

于 2012-12-31T09:01:50.507 回答