Используем в проектах шаблон Advanced и следующую структуру папок. Работает на шаред-хостингах
www/admin
www/assets
www/css
www/framework
www/framework/backend
www/framework/common
www/framework/frontend
www/framework/vendor
...
www/js
www/index.php
...
Содержимое www/index.php:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/framework/vendor/autoload.php');
require(__DIR__ . '/framework/vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/framework/common/config/bootstrap.php');
require(__DIR__ . '/framework/frontend/config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/framework/common/config/main.php'),
require(__DIR__ . '/framework/common/config/main-local.php'),
require(__DIR__ . '/framework/frontend/config/main.php'),
require(__DIR__ . '/framework/frontend/config/main-local.php')
);
$application = new yii\web\Application($config);
$application->run();
Содержимое www/admin/index.php:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../framework/vendor/autoload.php');
require(__DIR__ . '/../framework/vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../framework/common/config/bootstrap.php');
require(__DIR__ . '/../framework/backend/config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../framework/common/config/main.php'),
require(__DIR__ . '/../framework/common/config/main-local.php'),
require(__DIR__ . '/../framework/backend/config/main.php'),
require(__DIR__ . '/../framework/backend/config/main-local.php')
);
$application = new yii\web\Application($config);
$application->run();
Почти как из коробки, только изменены пути
Еще один способ
Чтобы админка сайта открывалась по адресу http://site.ru/admin можно использовать символьную ссылку:
В командной строке линукса пропишите:
$ ln -s путь_от_корня/backend/web путь_от_корня/frontend/web/admin
В Windows:
$ mklink /J папка_проекта\frontend\web\admin папка_проекта\backend\web
информация от сюда:
http://stackoverflow.com/questions/26732480/yii2-advanced-template-backend-and-frontend-on-same-domain