Amazon web services 仅适用于Laravel 4的AWS的我的EC2实例服务器上的主路由

Amazon web services 仅适用于Laravel 4的AWS的我的EC2实例服务器上的主路由,amazon-web-services,laravel,amazon-ec2,laravel-4,Amazon Web Services,Laravel,Amazon Ec2,Laravel 4,我正在尝试在AWS的EC2实例上设置我的laravel项目。我已经使用SFTP成功地将文件上传到服务器,并且我重写了000-default.conf文件以指向项目的公用文件夹 回家的路线很好,但其他路线都不起作用?知道这是怎么回事吗?它们在本地主机(MAMP)和其他服务器上都可以正常工作 所有其他路由都会显示一个未找到的页面(例如,在此服务器上找不到请求的URL/风扇))供将来出现此问题的用户使用: 我所要做的就是加上: <Directory /var/www> AllowOverr

我正在尝试在AWS的EC2实例上设置我的laravel项目。我已经使用SFTP成功地将文件上传到服务器,并且我重写了000-default.conf文件以指向项目的公用文件夹

回家的路线很好,但其他路线都不起作用?知道这是怎么回事吗?它们在本地主机(MAMP)和其他服务器上都可以正常工作


所有其他路由都会显示一个未找到的页面(例如,在此服务器上找不到请求的URL/风扇))

供将来出现此问题的用户使用:

我所要做的就是加上:

<Directory /var/www>
AllowOverride All
</Directory>

允许超越所有
/etc/apache2/sites available
目录中的我的
000 default.conf
文件

将其放在DocumentRoot行的正下方

干杯。

这对我很有用:

000-default.conf中的第一个

使文档根指向您的公用文件夹:

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html/your/laravel-project-folder/public/
然后将其添加到000-default.conf的末尾:

<Directory "/var/www/html/your/laravel-project-folder/">
    AllowOverride All
</Directory>
现在一切都很顺利


希望这有帮助:)

我在AWS上使用Laravel5.2时遇到了同样的问题。 在AWS上部署laravel后,您能看到欢迎页面吗?您可以使用以下内容访问欢迎页面。 /public/index.php

如果可以执行上述操作,则可以在app/Http/文件夹中修改route.php,如下所示:

Route::get('/convert/{name}', function ($name) {
     return str_plural($name);
});
之后,您可以尝试“/public/index.php/convert/123”。 然后您将在屏幕上看到“123s”


使用/public/index.php/访问您的路由确实很棘手,我要花很长时间来解决这个问题。

index.php/fans有效吗?有效,但是没有一个图像路径有效,因为我使用了漂亮的URL(因此index.php不会显示)。所以ec2-etc..etc..fans不起作用,但ec2-etc..etc..index.php/fans起作用。听起来好像当时没有启用修改重写。不确定EC2实例是如何工作的,但如果您可以在it's Apache中使用SSH,那么只需使用
a2enmod rewrite
启用它,然后重新启动Apache。我应该将它放在哪个Apache文件中?这是一个命令,所以只需运行
a2enmod rewrite
,您可能需要使用
sudo
来提升自己,但不确定它在Amazon上是如何工作的。非常感谢您!这节省了我太多的时间,就像一个charmallowsoverride一样,它只允许从服务器访问web文件。通常它无法访问该文件,这就是我们设置AllowOverride All的原因。您的网站没有被其他访问的风险。这是说允许从apache2服务器访问.htaccess文件。以下是有关AllowOverride All的更多详细信息的链接。
Route::get('/convert/{name}', function ($name) {
     return str_plural($name);
});