Маршрутизация Codeigniter не равна шаблону

Я работаю над приложением codeigniter, и у меня возникли проблемы с обдумыванием проблемы с маршрутизацией. По сути, я хотел бы, чтобы все маршруты по умолчанию сопоставлялись с конкретным действием контроллера, но я также хотел бы указать массив маршрутов (или, в идеале, начальных сегментов URL), которые не должны следовать этому шаблону.

В качестве примера:

Если я ввожу domain.com/username, он сопоставляется с domain.com/controller/method/show/username.

Если я ввожу domain.com/account, он сопоставляется с domain.com/account

Любая помощь с благодарностью принимается!

Джеймс


person James C    schedule 29.09.2010    source источник


Ответы (2)


Откройте config/routes.php и добавьте следующее:

$route['(:any)'] = "controller/method/show/$1";

Пожалуйста, перейдите по ссылке ниже, чтобы узнать больше о концепциях маршрутизации.

http://codeigniter.com/user_guide/general/routing.html

person RobertPitt    schedule 29.09.2010

Маршруты будут выполняться в том порядке, в котором они определены. Итак, в вашем файле маршрутов поместите маршруты для других контроллеров, с которыми вы все еще хотите работать, над вашими именами пользователей:

$route['default_controller'] = 'home'; //so root url still works
$route['accounts'] = "accounts";
$route['accounts/(:any)'] = "accounts/$1";
...
$route['(:any)'] = "controller/method/show/$1";
person Mitchell McKenna    schedule 30.09.2010