laravel - 使用 AWS EC2 或 Beanstalk 删除 Laravel 5 中的公用文件夹
问题描述
在本地环境中,我可以导航到 domain.com/app,但在 AWS 中,它只有在我使用 domain.com/public/app 时才有效。我尝试了多种方法来解决没有公用文件夹的问题
我已经尝试了两种不同的方法:
添加了 .htaccess mod_rewrite 但它在下面提供了一个错误。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Laravel NotFoundHttpException 在compiled.php 7610 行。
我不想将 server.php 重命名为 index.php,因为这不是最安全的方法。
在 /public/.htaccess 我有
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
在不使用 Homestead的情况下获得 http 到 https 的任何其他方式?
解决方案
在您的虚拟主机文件中,将 documentroot 指向 laravel 的公共文件夹
推荐阅读
- if-statement - Intel x86-64 汇编跳转语句题
- vue.js - 使用 vue.set() 更改属性不起作用
- javascript - 在脚本关闭时通过 google docs 脚本添加图像
- c++ - 如何在不使用 std::initializer_list 的情况下定义初始化列表构造函数?
- c++ - C++ - 我的移动/复制构造函数和移动/复制分配运算符有什么问题?
- java - Chromecast Sender App Android 实现 [google-cast]
- python - 在 Python 列表中获取一个值,将一个范围连接到它,并检查该值是否在另一个列表中
- python - 如何为托管在 Google App Engine 上的 Flask 应用定义端点?
- postgresql - 带有 EF 核心的 Dotnet 核心 Web API 未连接到 PostgreSQL
- python - 你将如何优化这个简单但缓慢的 Python 'for' 循环?