Я не могу заставить мое приложение Laravel / angularjs работать на сервере Ubuntu с Apache2.
Я разделил свое приложение на интерфейс (Angularjs) и бэкэнд (Laravel 5).
Angularjs / var / www / приложение-интерфейс Laravel / var / www / app-api
<VirtualHost *:80>
ServerName front01-app-dev
ServerAdmin webmaster@localhost
DocumentRoot /var/www/app-frontend
Alias /api /var/www/app-api/public
<Location /api>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /api/index.php [L]
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/app-api/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Проблема в том, что Laravel не может найти маршруты. В RouteCollection выбрасывается не найденное исключение. Я видел, регистрируя некоторые данные, что laravel ищет маршруты, определенные как / api / etc (что правильно), но путь запроса не включает префикс / api.
Например, один маршрут
Route :: get ('/ invoices / {inovoiceId}', 'InvoiceController @ show');
При выполнении GET в http: // myapp / api / invoices / 101
Маршрут определяется как api / invoices / {inovoiceId}. но путь запроса - invoices / 101 (без префикса api) так что маршрут не найден.
Последняя ошибка
(1/1) NotFoundHttpException
in RouteCollection.php (line 184)
at RouteCollection->match(object(Request))
in Router.php (line 546)
Есть идеи о том, что происходит?
Спасибо!
Себастьян
Спасибо, но проблема в том, что префикс api отсутствует, когда laravel ищет маршрут.






Я думаю, у вас осталось 2
api, когда вы добавили псевдоним как api в конфигурацию, замените его чем-то еще, например, backend