在yii2中使用catchAll时的ERR_TOO_MANY_REDIRECTS

时间:2018-04-01 20:33:18

标签: yii2

我使用的是yii2高级2.0.15 os:win 10

当我尝试使用catchAll时,

在/ config / main.php中我会得到export default function fetchTasks () { return async (dispatch) => { const tasks = await db.collection('tasks') .where('owner', '>', `/users/${uid}`) .where('owner', '<', `/users/${uid}`) .get() const taskList = [] tasks.forEach((task) => { taskList.push(task.data()) }) dispatch({ type: 'FETCH_TASKS_FULFILLED', payload: taskList }) } } 错误

ERR_TOO_MANY_REDIRECTS

网站控制器:

    'catchAll'=>[
    'site/offline'
]

为什么会这样?


更新

当我使用另一个控制器而不是SiteController时,它工作正常。
为什么它在网站控制器上工作?!

1 个答案:

答案 0 :(得分:2)

原因可能是AccessControl行为的规则。 allow操作没有offline规则,因此用户被重定向到login操作,该操作被catchAll捕获并再次重定向。将您的第一条规则更改为:

[
    'actions' => ['login', 'error', 'offline'], 
    'allow' => true,
],