Изменить/переименовать имя контроллера в URL: Yii2

Я хотел изменить имя контроллера в URL. Что мы можем сделать, переименовав имя контроллера в файле module. Но, через диспетчер URL, если мы можем это сделать. Это будет лучше.

Модуль: пользователь, Контроллер: API, Действие: индекс

Прямо сейчас,

'urlManager' => [
  'enablePrettyUrl' => true,
  'showScriptName' => false,
  'rules' => [
        '<controller:(api)>/<action:\w+>/<id:[a-z0-9]+>' => 'user/<controller>/<action>',
        '<controller:(api)>/<action>' => 'user/<controller>/<action>',
    ]
];

И я могу получить к нему доступ через.

http://dev.example.com/api/index

Но я хотел изменить его на

http://dev.example.com/world/index

Как мне это сделать? Любая помощь/подсказка/предложение приветствуется.


person Nana Partykar    schedule 10.03.2017    source источник


Ответы (2)


Вы можете создавать собственные правила URL, добавляя элементы в массив правил.

Итак, в вашем случае вставьте это в массив правил

'world/index' => 'api/index'

Подробнее о правилах URL можно прочитать здесь.

person Szántó Zoltán    schedule 10.03.2017

также вы используете ControllerMap

это полезно, когда вы используете сторонние контроллеры и у вас нет контроля над именами их классов.

ниже код в компоненте в main.php заранее или web.php в базовом, например:

    'controllerMap' => [           
        'api' => 'app\controllers\WorldController',
                        ]
person amir ajlo    schedule 25.06.2017