На хостинге (beget) Yii-advanced ставится так:
все кучей ложится в папку сайта mysite.ru/
в корне делается символическая ссылка
Код: Выделить всё
ln -s frontend/web public_html
Код: Выделить всё
ln -s ../../backend/web backend
в frontend/web:
Код: Выделить всё
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.ru$ [NC]
RewriteRule ^(.*)$ index.php?route=$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?backend\.mysite\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/backend/
RewriteRule ^(.*)$ backend/index.php?route=$1 [L]
2 вариант
в frontend/web:
Код: Выделить всё
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.ru$ [NC]
RewriteRule ^(.*)$ index.php?route=$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?backend\.mysite\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/backend/
RewriteRule ^(.*)$ backend/$1 [L]
Код: Выделить всё
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.php?route=$1 [L]
по основному сайту, что на frontend/web ведет, все работает, все переходы по uri и т.д. и т.п.
а вот по backend, открывается только backend.mysite.ru, все другое backend.mysite.ru/user и т.п. редиректится обратно на backend.mysite.ru
Локально все работало
Update:
редирект всегда на '/'
Файл urlManager.php
Код: Выделить всё
<?php
return [
'class' => 'yii\web\UrlManager',
'hostInfo' => $params['backendHostInfo'],
'baseUrl' => '',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
'<_a:login|logout>' => 'auth/<_a>',
'<_c:[\w\-]+>' => '<_c>/index',
'<_c:[\w\-]+>/<id:\d+>' => '<_c>/view',
'<_c:[\w\-]+>/<_a:[\w-]+>' => '<_c>/<_a>',
'<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_c>/<_a>',
],
];
Код: Выделить всё
'' => 'user/index'