Как установить контроллер по умолчанию в yii2

Я UserControler и я запускаю его на виртуальном сервере http://basic.com/index.php?r=user/index. Как я могу настроить UserController и действий index по умолчанию, когда я иду вhttp://basic.com

8 ответов


вы пробовали в своей конфигурации:

'defaultRoute' => 'user/index'

Контроллер По Умолчанию


это можно установить в конфигурации, см. Контроллер По Умолчанию:

[
    'defaultRoute' => 'main',
]

но обратите внимание, что это тесно связано с маршрутизацией, которая может быть полностью настроена


как уже сказали несколько человек, вам нужно добавить defaultRoute в файле конфигурации.
Вот как это должно выглядеть:

//config/web.php на basic шаблон или backend/config/main.php на дополнительно

$config = [
    ...
    'components' => [
        ...
    ],
    'params' => $params,
    'defaultRoute' => 'user/index',
];

с yii2 я смог сделать это в urlmanager с помощью:

'rules'=> [
        ['pattern'=>'<action>', 'route'=>'controller/<action>'],
]

Это не ответ на вопрос, однако это может быть полезно знать: есть catchAll в собственность yii\web\Application, который определяется как:

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

использование:

'catchAll' => ['controller/action']

Итак, каждый запрос http://basic.com позову controller/action


попробуйте другие решения... Если они не работают, используйте мой простой трюк...

и .в PHP страница в корне.

затем в этом файле напишите этот код:

return header('Location: http://your page location');

открыть web.php файл из папки конфигурации, и добавить следующее:

'defaultRoute' => 'admin'

на $config массив.

enter image description here


отметим, что defaultRoute игнорируется, когда strictParsing включена в urlManager конфиг. Обратитесь к вопросу на GitHub:https://github.com/yiisoft/yii2/issues/5892

в качестве меры рекомендуется использовать следующую конфигурацию:

[
    ...
    'defaultRoute' => 'default/index',
    ...
    'urlManager' => [
        'enablePrettyUrl' => true,
        'enableStrictParsing' => true,
        ...
        'rules' => [
            ...
            '' => '',   // <- this line should be added
        ],
    ],
    ...
]