Для advanced шаблона, где структура разделена на frontend/backend убираем web и настраиваем доступ к backend по ссылке /admin
Одно из решений без правки конфига сервера, для этого нужно несколько действий.
Будьте внимательны, если инструкции ниже не сработают — ищите проблему в настройках сервера(mod_rewrite, чпу для nginx и т.д. в зависимости от веб сервера).
В корне сайта создаем .htaccess
Options +FollowSymLinks IndexIgnore */* RewriteEngine on # Если запрос начинается с /admin, то заменяем на /backend/web/ RewriteCond %{REQUEST_URI} ^/admin RewriteRule ^admin\/?(.*) /backend/web/$1 # Добавляем другой запрос /frontend/web/$1 RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin) RewriteRule (.*) /frontend/web/$1 # Если frontend запрос RewriteCond %{REQUEST_URI} ^/frontend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /frontend/web/index.php # Если backend запрос RewriteCond %{REQUEST_URI} ^/backend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /backend/web/index.phpВ папках frontend/web и backend/web создаем также .htaccess
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.phpДополнительно: включаем ЧПУ в конфиге main.php
'request' => [ 'baseUrl' => '', // для backend соотв. значение /admin ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, 'rules' => [ '<controller>/<action>' => '<controller>/<action>', ], ],