Yii 2 - Как перенаправить на определенную страницу интерфейса в корне, если вы вошли в систему, и перенаправить на страницу входа в систему, если гость находится в корне?

У меня проблема. Я попытался использовать .htaccess в корневой папке для перенаправления следующим образом:

  • localhost/planificacion_talleres/ перенаправляет на localhost/planificacion_talleres/frontend/web/index.php?r=planificacion, если пользователь вошел в систему
  • localhost/planificacion_talleres/ перенаправить на localhost/planificacion_talleres/frontend/web/index.php?r=site, если пользователь является гостем.

Но я не знаю, как перенаправить с помощью того же .htaccess на другие страницы с помощью условия. Мне нужна помощь, пожалуйста


person Felipe Guzman    schedule 24.02.2017    source источник
comment
вам нужно перенаправить с помощью .htaccess?   -  person GAMITG    schedule 24.02.2017
comment
Думаю, это единственный способ сделать редирект с корня на страницу   -  person Felipe Guzman    schedule 24.02.2017


Ответы (1)


Я думаю, что перенаправление через .htaccess — плохая идея, потому что в этом случае вы не сможете управлять этими перенаправлениями в зависимости от других условий.

Я рекомендую использовать перенаправления приложений, например:

class DefaultController extends \yii\web\Controller
{

    public function actionIndex()
    {
        $targetRoute = \Yii::$app->user->isGuest
            ? ['site']
            : ['planificacion'];

        return $this->redirect($targetRoute);
    }

}
person IStranger    schedule 24.02.2017
comment
Нужно ли создавать этот контроллер в корневой папке проекта? - person Felipe Guzman; 24.02.2017
comment
Нет. См. здесь: yiiframework.com/doc-2.0/ guide-index.html#getting-started - person IStranger; 24.02.2017