我正在尝试在我的EC2 Instance for AWS上设置我的laravel项目。我已经使用SFTP成功将文件上传到服务器,并重写了000-default.conf文件以指向项目的公共文件夹。
本地路线正常加载,但其他路线都没有工作?知道这里发生了什么吗?它们都可以在本地主机(MAMP)和其他服务器上正常工作。
所有其他路线都显示NOT FOUND页面(在此服务器上找不到请求的URL /粉丝)(例如)
答案 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/访问您的路线真的很棘手,我花了很长时间来解决这个问题。