Есть простенькое решение, как перевести посетителей сайта на страницу-заглушку.
Код: Выделить всё
'on beforeAction' => function($event) use ($params){
// массив с логинами пользователей, которым разрешён доступ $params['usersArray'];
// массив с именами контролеров, к которым запрещён доступ $params['controllerArray'];
$controllerId = $event->action->controller->id;
if(!in_array(Yii::$app->user->identity->username, $params['usersArray'])){
if(in_array($controllerId, $params['controllerArray'])){
return Yii::$app->response->redirect(['offline/']);
}
}
},
Если всё оставить так, как сейчас, то переадресация зацикливается.
Если же добавить код ответа "200" в return Yii::$app->response->redirect(['offline/']); - переадресация вообще не происходит.
Как заставить это работать?
p.s. Переход по адресу http://localhost/offline работает, открывается страница-заглушка.