У меня есть проект в Laravel, который я хочу развернуть на моем новом сервере Ubuntu 16.4. Я установил все необходимые пакеты, и мой проект отлично работает на сервере.
Сначала он был доступен из -> «IP-адрес / имя-проекта / public / index.php», затем я внес некоторые изменения в «/etc/apache2/sites-availabe/000-default.conf» следующим образом:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/panel/public/
<Directory /var/www/html/panel>"
AllowOverride All
</Directory>
"панель" - это название моего проекта в Laravel. Итак, теперь я могу получить доступ к своему проекту из «http: // IP-адрес», но поскольку проект состоит из двух частей: передней панели и панели администратора, я хочу получить доступ к проекту по URL-адресу, например «IP-адрес /» для веб-части javascript и «IP-адрес / панель» для административной панели, разработанной с помощью Laravel.
Вы имеете в виду компонент маршрутизатора внутри кода PHP?






Файл конфигурации моего Apache
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public
<Directory "/var/www/html/public">
AllowOverride all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Проект Laravel находится в каталоге /var/www/html.
Чтобы иметь другую часть вашего приложения (например, панель администратора по пути /admin), вы должны использовать группы маршрутизаторов Laravel. Вот вам ссылка на документацию.
Пример из документации
Route::prefix('admin')->group(function () {
Route::get('users', function () {
// Matches The "/admin/users" URL
});
});
Если вам нужен префикс /panel, просто замените admin на panel. Все маршруты для панели объявляются в этой группе.
Почему вы не используете группы маршрутизаторов?