Yii 2 - Bagaimana cara mengarahkan ke halaman frontend tertentu di root jika login dan mengarahkan ke halaman login frontend jika tamu di root?

Saya punya masalah. Saya mencoba menggunakan .htaccess di folder root untuk mengarahkan ulang seperti ini:

  • localhost/planificacion_talleres/ dialihkan ke localhost/planificacion_talleres/frontend/web/index.php?r=planificacion jika Pengguna login
  • localhost/planificacion_talleres/ dialihkan ke localhost/planificacion_talleres/frontend/web/index.php?r=site Jika Pengguna adalah tamu.

Tapi saya tidak tahu cara mengarahkan ulang menggunakan .htaccess yang sama ke halaman lain menggunakan syarat. Tolong, saya butuh bantuan


person Felipe Guzman    schedule 24.02.2017    source sumber
comment
apakah Anda perlu mengalihkan menggunakan .htaccess?   -  person GAMITG    schedule 24.02.2017
comment
Saya pikir ini adalah satu-satunya cara untuk mengalihkan dari root ke halaman   -  person Felipe Guzman    schedule 24.02.2017


Jawaban (1)


Menurut saya, pengalihan menggunakan .htaccess adalah ide yang buruk, karena dalam kasus ini Anda tidak dapat mengelola pengalihan ini bergantung pada kondisi lainnya.

Saya sarankan untuk menggunakan pengalihan aplikasi, misalnya:

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
Apakah saya perlu membuat pengontrol ini di folder root proyek? - person Felipe Guzman; 24.02.2017
comment
Tidak. Silakan lihat di sini: yiiframework.com/doc-2.0/ guide-index.html#permulaan - person IStranger; 24.02.2017