Часто при установке Yii2 advanced необходимо выполнить стандартные шаги, вот они:
Установка Yii2 advanced
Консоль. Переходим в папку с проектами, создаем новый проект, и устанавливаем yii2 advanced:
cd domains mkdir domain-name.local cd domain-name.local composer create-project --prefer-dist yiisoft/yii2-app-advanced ./ php init
Настройка БД, файл @app/common/config/main-local.php:
'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=your_db_name', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ],
Консоль, выполняем базовою миграцию:
yii migrate
Настройка ЧПУ
Файл, @app/.htaccess:
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On </IfModule> <IfModule mod_rewrite.c> # если /admin, то в backend RewriteCond %{REQUEST_URI} ^/(admin) RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L] RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L] RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L] RewriteRule ^admin/libs/(.*)$ backend/web/libs/$1 [L] RewriteRule ^admin/img/(.*)$ backend/web/img/$1 [L] RewriteRule ^admin/plugins/(.*)$ backend/web/plugins/$1 [L] RewriteCond %{REQUEST_URI} !^/backend/web/(assets|js|css|js)/ RewriteCond %{REQUEST_URI} ^/(admin) RewriteRule ^.*$ backend/web/index.php [L] RewriteCond %{REQUEST_URI} ^/(assets|css|js|images) RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L] RewriteRule ^css/(.*)$ frontend/web/css/$1 [L] RewriteRule ^js/(.*)$ frontend/web/js/$1 [L] RewriteRule ^images/(.*)$ frontend/web/images/$1 [L] RewriteRule ^(.*)$ frontend/web/$1 [L] RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js)/ RewriteCond %{REQUEST_URI} !index.php RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ frontend/web/index.php </IfModule>
Файл, @frontend/web/.htaccess:
RewriteEngine on # если это папка или файл, открываем его RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # в противном случае перенаправляем на index.php RewriteRule . index.php
Элементы components массива в файле @frontend/config/main.php:
'components' => [ //... 'request' => [ //... 'baseUrl' => '', ], //... 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ //['class' => 'frontend\components\ClassUrlRule'], '' => 'site/index', '<controller:\w+>/<action:\w+>/' => '<controller>/<action>', ], ], ], //...
Файл, @backend/web/.htaccess:
RewriteEngine on # если это папка или файл, открываем его RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # в противном случае перенаправляем на index.php RewriteRule . index.php
Элементы components массива в файле @backend/config/main.php:
'components' => [ //... 'request' => [ //... 'baseUrl' => '/admin', ], //... 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ '' => 'site/index', '<controller:\w+>/<action:\w+>/' => '<controller>/<action>', ], ], ],
Комментарии
Кратко, понятно, работает. Добавляю в избранное, автору спасибо
Ответить