vista una start requerimientos modelos instalar framework crear php yii yii2 config default

php - una - Cómo configurar el controlador predeterminado en yii2



yii2 requerimientos (7)

Tengo UserControler y lo ejecuto en el servidor virtual http://basic.com/index.php?r=user/index . ¿Cómo puedo configurar UserController y el index acción para que sean los predeterminados cuando voy a http://basic.com



Esto se puede configurar dentro de la configuración, ver Controlador predeterminado :

[ ''defaultRoute'' => ''main'', ]

Pero tenga en cuenta que esto está estrechamente relacionado con el enrutamiento, que puede ser completamente personalizado por el componente urlManager . Entonces, si quiere decir que domain/profile comporta como domain/user/profile , estas reglas para urlManager podrían ser otra forma de hacerlo:

''rules'' => array( ''<action:/w+>'' => ''user/<action>'', // <-- use UserController by default ''<controller:/w+>/<id:/d+>'' => ''<controller>/view'', ''<controller:/w+>/<action:/w+>/<id:/d+>'' => ''<controller>/<action>'', ''<controller:/w+>/<action:/w+>'' => ''<controller>/<action>'', ),

Espero que esto ayude a alguien :)


Con yii2 pude hacerlo en el administrador de la url con:

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


Esta no es la respuesta a la pregunta , sin embargo, puede ser útil saber: hay una propiedad yii/web/Application en yii/web/Application que se define como:

La configuración que especifica una acción del controlador que debe manejar todas las solicitudes de los usuarios.

Uso:

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

Entonces, cada solicitud a http://basic.com llamará controller/action


Como pocas personas ya dijeron, debe agregar defaultRoute en el archivo de configuraciones.
Así es como debería verse:

//config/web.php en la plantilla básica o backend/config/main.php en avanzado

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


Prueba las otras soluciones ... Si no funcionan, utiliza mi truco simple ...

Simplemente crea una página index.php en la raíz.

Luego, en ese archivo, escribe este código:

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


Abra el archivo web.php de su carpeta de configuración y agregue lo siguiente:

''defaultRoute'' => ''admin''

a su arreglo $config .