laravel - 未找到 apache2 ubuntu 服务器 404 上的 Laravel api
问题描述
我有一个本地创建的 laravel RESTFUL API,并使用 git 将它部署在我的 ec2 ubuntu 服务器上。
我已经将它设置为我的主要网站../var/www/api.myapp.com/public_html/myapp-be
对于它的配置,我有这个/etc/apache2/sites-available/api.myapp.com.conf
.
我发现的几乎所有关于在 apache2 ubuntu 服务器上部署 laravel 的博客和教程都几乎相同,并且我都遵循了它们。但是,当我在邮递员上测试我的 API 时,https://api.myapp.com/api/somefunctionhere
它会说404 not found, The requested URL was not found on this server. Apache/2.4.29 (Ubuntu) Server at api.myapp.com port 443
.
但是当我在邮递员上测试我的本地 api 时,它工作正常,因此,我确认我的 laravel 没有任何问题。
我的配置看起来像这样
<VirtualHost *:80>
<Directory /var/www/api.myapp.com/public_html/myapp-be/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ServerAdmin developer@myapp.com
ServerName api.myapp.com
Redirect permanent / https://api.myapp.com/
ServerAlias api.myapp.com
DocumentRoot /var/www/api.myapp.com/public_html/myapp-be/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/error.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =api.myapp.com [OR]
RewriteCond %{SERVER_NAME} =api.myapp.com
RewriteRule ^ https://${SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
<Directory /var/www/api.myapp.com/public_html/myapp-be/public/>
AllowOverride All
</Directory>
ServerName api.myapp.com
DocumentRoot /var/www/api.myapp.com/public_html/myapp-be/public
</VirtualHost>
这里有没有我错过的地方?显然我错过了一个地方,但我已经找了将近 3 个小时,但仍然无法工作。有什么想法吗?谢谢!
更新:我尝试将 /public 添加到前缀并且它起作用了,我什至不知道它为什么起作用 - https://api.myapp.com/public/api/somefunctionhere
解决方案
推荐阅读
- qt - QML - 用于多点触控应用程序的自定义可滚动文本区域
- java - 从事件侦听器调用时,Spring数据JPA删除不起作用
- google-apps-script - 将 Google 表格导出为 PDF:getDataAsString() 返回一个空 PDF
- c++ - 在 std::exception.what() 中使用 std::stringstream
- typescript - ngOnchanges 未触发
- vb.net - VB2012 报表中的分页符
- java - 带有枚举类的开关盒
- c - OLED 显示器 128x64 SSD1309 通过 SPI-4 线与 TMS320F28377x 集成
- sql - CTE 递归连接表
- git - 如何在变基之前检索旧提交