Устанавливаю yii2. Мне необходимо сделать так чтобы по ссылке "site.ru/" - выдавалась стартовая страница, а по ссылке "site.ru/admin/" открывалась админская часть. Сейчас они доступны только по ссылкам "site.ru/backend/web/index.php" и "site.ru/frontend/web/".
ВОПРОС В СЛЕДУЮЩЕМ.
Я нашел множество вариантов как это сделать с помощью htaccess-ов(например здесь https://pro-cod.ru/ubiraem-frontend-web-i-backend-web-yii2.html). И с ними все работает. НО неужели в yii2 нет встроенных способов решений этой проблемы? Неужели нужно обязательно так "костылить"? Может можно просто в каком нибудь конфиге прописать эти урлы и все заработает? Или такого способа не предусмотрено?
Файл .htaccess позволяет изменять настройки веб-сервера Apache для конкретного хоста. Yii2 не умеет редактировать эту конфигурацию и лишь обрабатывает поступающие запросы к конкретному скрипту.
Вы можете не создавать файл .htaccess и настроить конфигурацию напрямую в файле конфигурации виртуал хоста Apache, указав DocumentRoot:
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/path/to/project/frontend/web"
Options +FollowSymlinks
...
</VirtualHost>```
Не надо городить все в кучу. frontend и backend это разные хосты. Обычно фронт открывается по запросу site.ru, а все остальные цепляют на поддомены (admin.site.ru). Для каждого хоста корневой директорией должна быть директория web. Для фронта /project-path/frontend/web/, например. Делается это для того, чтобы запросы из сети не могли добраться до файлов основного приложения. Такая вот своеобразная безопасность.
И когда у нас наравне с frontend и backend появляются еще экземпляры приложений (api, forum, payment...), то мы делаем для них отдельный хост и точно также корневой директорией является /project-path/api/web/.
Теперь представим, что у нас корневой директорией является директория всего проекта и все запросы отправляются туда.Возникает солидный набор костылей в файлах конфигурации хоста,
открывается потенциальная дыра (например, из api можно добраться до payment или другой директории).
Сборка персонального компьютера от Artline: умный выбор для современных пользователей