Php 如何允许访问yii2高级模板中的默认路由?

Php 如何允许访问yii2高级模板中的默认路由?,php,yii2,Php,Yii2,我需要给予访问主页的完全访问权限,无需登录ex 但它仅在站点/索引设置为默认路由时才起作用 如何在yii2中为没有输入url的站点/索引授予权限 'as beforeRequest' => [ 'class' => 'yii\filters\AccessControl', 'rules' => [ [ 'allow' => true, 'actions' => ['login','sit

我需要给予访问主页的完全访问权限,无需登录ex 但它仅在站点/索引设置为默认路由时才起作用 如何在yii2中为没有输入url的站点/索引授予权限

'as beforeRequest' => [
    'class' => 'yii\filters\AccessControl',
    'rules' => [
        [
            'allow' => true,
            'actions' => ['login','site/index'],
        ],
        [
            'allow' => true,
            'roles' => ['@'],
        ],
    ],
    'denyCallback' => function () {
        return Yii::$app->response->redirect(['site/login']);
    },

首先,您应该在to
components
部分的config
frontend/config/main.php
中包含这些行:

...
'baseUrl' => '/',
...
'request' => [
            //...
            'baseUrl' => '',
            //...
        ],
下一步是配置
UrlManager
,以便对此类请求作出反应:

'rules' => [ 
                '' => 'site/index',
                //...
           ],
在那之后,试着去你的办公室
它应该可以工作。

从规则中的
操作
数组中删除
登录
可能是个坏主意。您将无法在子目录中运行此应用。Yii应该为web应用程序检测正确的
baseUrl
,所以应该没有理由硬编码它(对于控制台应用程序仍然有意义)。