Yii 2 advanced
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Yii 2 advanced
Еще такой вопрос по Yii 2 advanced.
структура проекта advanced предполагает использование поддоменов (это если я правильно понял) например
mysite.ru => frontend/web
admin.mysite.ru => backend/web
api.mysite.ru => api/web
...
а если нужно сделать так:
mysite.ru/admin
mysite.ru/api
...
Как правильно разрулить такой вариант в Yii 2 advanced?
Спасибо.
структура проекта advanced предполагает использование поддоменов (это если я правильно понял) например
mysite.ru => frontend/web
admin.mysite.ru => backend/web
api.mysite.ru => api/web
...
а если нужно сделать так:
mysite.ru/admin
mysite.ru/api
...
Как правильно разрулить такой вариант в Yii 2 advanced?
Спасибо.
Re: Yii 2 advanced
http://www.yiiframework.ru/forum/viewto ... 19&t=16820 суть другая, но результат тот же.
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Re: Yii 2 advanced
Спасибо!
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Re: Yii 2 advanced
Проэкт рарулил по второму варианту через htaccess
Теперь нужно чтобы все ссылки в backend шли через admin. Например
backend/web/index.php/login => admin/login
Непойму почему не работает редирект в htaccess
Теперь нужно чтобы все ссылки в backend шли через admin. Например
backend/web/index.php/login => admin/login
Непойму почему не работает редирект в htaccess
Код: Выделить всё
RewriteRule ^backend/web/(.*)$ http://%{HTTP_HOST}/admin/$1 [R=301,L]
Re: Yii 2 advanced
В конфиге бэкенда прописали "baseUrl" для "request" ?
Что именно не получается? Какие ошибки?
Что именно не получается? Какие ошибки?
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Re: Yii 2 advanced
Никаких ошибок нет.
И фронтенд и админка работает.
В админку вход через /admin
Но и фронтенд и админка идут такими ссылками
/backend/web/index.php/...
/frontend/web/index.php/...
А я хочу чтобы было так:
/backend/web/index.php/test => admin/test
/frontend/web/index.php/test => /test
Думаю заменить /backend/web/index.php/ можно через htaccess
но тут редирект не работает. Что-то я делаю нетак.
Это в корневом htaccess
/backend/conf/main.php
И фронтенд и админка работает.
В админку вход через /admin
Но и фронтенд и админка идут такими ссылками
/backend/web/index.php/...
/frontend/web/index.php/...
А я хочу чтобы было так:
/backend/web/index.php/test => admin/test
/frontend/web/index.php/test => /test
Думаю заменить /backend/web/index.php/ можно через htaccess
но тут редирект не работает. Что-то я делаю нетак.
Это в корневом htaccess
Код: Выделить всё
RewriteRule ^backend/web/(.*)$ http://%{HTTP_HOST}/admin/$1 [R=301,L]
Код: Выделить всё
...
'request' => [
'baseUrl' => '/admin'
],
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'rules' => [
'<action:(login|logout|about|page|index|contact)>' => 'site/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
],
'assetManager' => [
'basePath' => '@webroot/assets',
'baseUrl' => '@web/assets'
]
...
Re: Yii 2 advanced
Вероятнее всего у вас отключен модуль "rewrite". Включите его и все должно заработать.
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Re: Yii 2 advanced
mod_rewrite включен и работает.
Протестил все ссылки щас /admin/test работает
Но ссылки которые дает Yii /test и индекс физически лежит /backend/web/index.php и на выходе в меню ссылка /backend/web/index.php/test
Протестил все ссылки щас /admin/test работает
Но ссылки которые дает Yii /test и индекс физически лежит /backend/web/index.php и на выходе в меню ссылка /backend/web/index.php/test
- mrbighokage
- Сообщения: 28
- Зарегистрирован: 2014.02.21, 10:33
- Откуда: ua
Re: Yii 2 advanced
Нашол решение.
Покопался в yii и понял чтобы все заработало надо 'baseUrl' добавить и в urlManager! Для фронтенда например:
И еще осталось переопределить Yii::$app->homeUrl
Можно сделать это в конфиге /frontend/config/main.php
или в контоллере
Тоже самое сделал для админки. Только baseUrl и homeUrl поставил '/admin/'
Покопался в yii и понял чтобы все заработало надо 'baseUrl' добавить и в urlManager! Для фронтенда например:
Код: Выделить всё
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'baseUrl' => '/',
'rules' => [
'<action:(login|logout|signup|about|page|index|contact)>' => 'site/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
],
Можно сделать это в конфиге /frontend/config/main.php
Код: Выделить всё
'homeUrl' => '/',
Код: Выделить всё
$application->setHomeUrl('/');