Backend ve Frontend arasında url'ler arasında bazı farklar yaşanmakta ve şu şekilde çözümlenmektedir. Frontend ve Backend arasında link kullanımı için: common/config/main.php
dosyasında
<?php
return [
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],
'MyComponents'=>[
'class'=>'backend\components\MyComponents',
],
'urlManagerFrontEnd' => [
//'class' => 'yii\web\urlManager',
//'baseUrl' => '/frontend/web',
//'class' => 'frontend\components\ZUrlManager',//language
'baseUrl' => '/',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'/'=>'site/index',
'/<postTitleSeo>'=> 'site/postdetails',
],
],
'urlManagerBackEnd' => [
'class' => 'yii\web\urlManager',
//'baseUrl' => '/backend/web',
'baseUrl' => '/admin',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'/login'=>'site/login',
'/signup'=>'site/signup',
],
],
'authManager' => [
'class' => 'yii\rbac\DbManager',
//'defaultRoles' => ['guest'],
],
],
];
Ayrıca Kullanımı ise şu şekilde olabilir.
Yii::$app->urlManagerFrontEnd->baseUrl;
Yii::$app->urlManagerBackEnd->baseUrl;
Backend tarafından Frontend tarafına Link vermek istiyorsak aşağıdaki gibi kullanabiliriz:
<a href="<?=Yii::$app->urlManagerFrontEnd->createUrl(['site/postdetails','postTitleSeo'=>$model->postTitleSeo])?>"><?=$model->postTitleSeo?></a>
Frontend tarafından Backend tarafında Link vermek istiyorsak aşağıdaki gibi kullanabiliriz:
<a target="_blank" href="<?= Yii::$app->urlManagerBackEnd->createUrl(['posts/update','id'=>$post->postID])?>">Güncelle</a>