Amazon web services 仅适用于Laravel 4的AWS的我的EC2实例服务器上的主路由
我正在尝试在AWS的EC2实例上设置我的laravel项目。我已经使用SFTP成功地将文件上传到服务器,并且我重写了000-default.conf文件以指向项目的公用文件夹 回家的路线很好,但其他路线都不起作用?知道这是怎么回事吗?它们在本地主机(MAMP)和其他服务器上都可以正常工作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
所有其他路由都会显示一个未找到的页面(例如,在此服务器上找不到请求的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);
});