php - Apache2 中的 Angularjs 和 Laravel 配置
问题描述
我无法让我的 Laravel/angularjs 应用程序在带有 Apache2 的 Ubuntu 服务器上工作。
我在前端(Angularjs)和后端(Laravel 5)中分离了我的应用程序。
Angularjs /var/www/app-frontend 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');
在对http://myapp/api/invoices/101进行 GET 操作时
路由定义为 api/invoices/{inovoiceId} 但请求路径是 invoices/101(没有 api 前缀),因此找不到路由。
最后的错误是
(1/1) NotFoundHttpException
in RouteCollection.php (line 184)
at RouteCollection->match(object(Request))
in Router.php (line 546)
对正在发生的事情有任何想法吗?
谢谢!
塞巴斯蒂安
解决方案
推荐阅读
- android - 无法与其他应用程序共享或打开下载到“下载”文件夹的 pdf 文件
- javascript - 反应:下拉显示重复选项比给定
- tensorflow - 如何配置具有 CPU 支持的 tensorflow?
- firebase - 如何使用 vuexfire 从 firestore 数据库中获取数据?
- javascript - 如何重置内置 HTML 输入有效性
- android - 错误 APT2259:“50%”与属性高度 (attr) 尺寸不兼容
- typescript - 我可以使用参数吗
懒惰地输入我的 ...args 参数? - r - R:访问“msts”对象的“start”属性
- node.js - 如何从我的快速服务器端口监听我的客户端端口?
- excel - VBA Excel MacOs 2019 pdf导出到当前目录