2017-02-20 32 views
-1

Я работаю на фоновой админпанель с помощью CodeIgniter и в панели администратора есть несколько ролей пользователей, как Администратор, редактор, менеджер и т.д. Теперь я создал несколько контроллеров для каждой роли, как:Как указать множественный URL-адрес контроллера на тот же URL-адрес в codeigniter?

  • контроллеров Файл /admin.php
  • контроллеры/Editor.php
  • контроллеры/Manager.php

Таким образом, URL стать как этот

  • www.mysite.com/admin/anyfunction
  • www.mysite.com/editor/anyfunction
  • www.mysite.com/manager/anyfunction

Но я хочу, чтобы эти URL-адреса, как

  • www.mysite.com/u/anyfunction
  • www.mysite.com/u/anyfunction
  • www.mysite.com/u/anyfunction
+0

Вы хотите, чтобы все URL-адреса точно имели букву «u» после веб-сайта? – coderszx

+0

Вам нужно объединить свои контроллеры или иметь разные URL-адреса ... – Callombert

+0

'u' не рекомендуется, я просто хочу скрыть имя контроллера –

ответ

0

В вашем сценарии имена функций должны быть разными. Но имеющие различные названия функций вы можете просто сделать маршруты,

$route['u/any-method'] = "admin/any_method"; 
$route['u/some-other-method'] = "editor/any_method"; 

URL должны быть разными, чтобы класс маршрутизатора разрешить какую часть кода должна быть выполнена. Посмотрите здесь, в docs.

+0

Да, я знаю, На самом деле, я не хочу показывать роли в URL-адресе –

0

Вы хотели сделать эту маршрутизацию?

$route['u/(:any)'] = "admin/method"; 
    $route['u/(:any)'] = "editor/method"; 
+0

Да, я думаю, что это невозможно –

+0

Возможно ли это сделать? $ route ['u/(: any)'] = "$ _SESSION ['role']/method"; $ route ['u/(: any)'] = "$ _SESSION ['role']/method"; –