在网上找了非常多的方法,但是都不好使最后自己综合网上所有自己琢磨出来的,见笑了
首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的第28行
public $defaultRoute = 'site'; /*这个是网上都有的,但是改的是框架源码,所以不建议使用*/
1、找到了自己扩展的配置文件在/config/web.php。
在 $conifg=[] 里添加了一行代码: 'defaultRoute' => 'index', 。
这样,默认控制器就从Yii默认的site变成了想要的index了。
2、不论前后台找到/config/mian.php在第一个数组里面,添加 'defaultController'=>'Index',
3、在/protected/config/main.php添加配置,
<?php
return array(
'name'=>'Auto',
'defaultController'=>'auto',
4、配置文件在/config/web.php 或者main.php里面。
在 $conifg=[] 里添加了一行代码:
'defaultRoute'=>'exam',
注意!注意!注意!
以上四种更改默认控制器的方法亲测无效!!!
0、下面这是我自己总结出来的:
/protected/config/main.php或/backend/config/main.php中
代码如下:
<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
//require(__DIR__ . '/../../common/config/db.php'),
require(__DIR__ . '/params-local.php')
);
return [
'name'=>'Exam',
'defaultRoute'=>'exam',
红色即为正确设置方式。
设置默认action
在XxxController.php中设置
代码如下:
<?php
class XxxController extends \yii\web\Controller
{
public $defaultAction = 'test';
public function actionIndex()
{
...
}
public function actionTest()
{
...
}
...
如此,此时访问###/web/index.php就会
默认转到###/web/index.php?r=Xxx/test
ok,完事,收工!