1) Распакуйте свой сайт в папку /public_html - так чтоб в файловой системе получились пути вида "/public_html/backend", "/public_html/backend" и т.д.
=======================================
2) Файл "/public_html/.htaccess"
Options -Indexes
Options FollowSymlinks
RewriteEngine on
# Бэкенд
RewriteCond %{REQUEST_URI} ^/admin/$
RewriteRule ^(admin)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin(/.+)?$ /backend/web/$1 [L,PT]
# Фронтенд
RewriteCond %{REQUEST_URI} ^.*$
RewriteRule ^(.*)$ /frontend/web/$1
========================================
3) Файл "/www/backend/web/.htaccess"
# use mode rewrite for pretty URL support
RewriteEngine on
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule . index.php
========================================
4) Файл "/www/frontend/web/.htaccess"
<IfModule mod_rewrite.c>
Options +FollowSymlinks
# Включаем mod_rewrite и перенаправляем со слэша
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
# Если это папка или файл, открываем ее/его
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# В противном случае перенаправляем на index.php
RewriteRule . index.php
</IfModule>
========================================
5) Файл "/www/backend/config/main.php"
...
'components' => [
'request'=>[
'baseUrl'=>'/admin',
],
...
========================================
6) Файл "/www/frontend/config/main.php"
...
'components' => [
'request'=>[
'baseUrl'=>'',
],
...