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

时间:2014-03-18 23:43:09

标签: amazon-web-services laravel amazon-ec2 laravel-4

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

本地路线正常加载,但其他路线都没有工作?知道这里发生了什么吗?它们都可以在本地主机(MAMP)和其他服务器上正常工作。

所有其他路线都显示NOT FOUND页面(在此服务器上找不到请求的URL /粉丝)(例如)

3 个答案:

答案 0 :(得分:19)

这对我有用:

首先在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>

最后两步:

以root用户身份运行:

1. sudo a2enmod rewrite
2. service apache2 restart

现在一切都对我很好。

希望这会有所帮助:)

答案 1 :(得分:8)

对于将来遇到此问题的人:

我所要做的就是添加:

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

000-default.conf目录中的/etc/apache2/sites-available文件。

将它放在DocumentRoot行下面。

干杯。

答案 2 :(得分:0)

我在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/访问您的路线真的很棘手,我花了很长时间来解决这个问题。