Используем в проектах шаблон 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