403 Forbidden on laravel项目,但没有别的
Posted
技术标签:
【中文标题】403 Forbidden on laravel项目,但没有别的【英文标题】:403 Forbidden on laravel project, but nothing else 【发布时间】:2015-02-20 20:43:24 【问题描述】:我有一个数字海洋水滴,我在站点的根目录上有一个测试页面,它工作得很好,但是当我尝试连接到 laravel 项目时,它给我一个 403 Forbidden 错误。
基本上如果我去:
mysite.com/
显示正常页面
如果我去:
mysite.com/public
它显示了403 error
。
我尝试使用chmod -R 755 app/storage
更改权限,甚至尝试更改整个文件夹/目录的权限,但没有任何效果。
这是错误日志的最后一部分:
2014/12/22 11:13:02 [error] 14447#0: *1 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$
2014/12/22 11:13:07 [error] 14447#0: *2 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: bind() to [::]:80 failed (98: Address already in use)
2014/12/22 11:15:29 [emerg] 14465#0: still could not bind()
2014/12/22 11:16:14 [error] 14447#0: *3 directory index of "/var/www/mysite.com/public_html/" is forbidden, client: 41.150.139.252, server: mysite.com, request$
【问题讨论】:
查看日志以了解导致错误的原因。 我有一种预感,mysite.com/public
不是正确的道路。 mysite.com
指向什么目录,laravel在哪里?
@BobBrown 我如何以及在哪里查看日志?
@mopo922 目录是/var/www/mysite.com
,laravel直接安装在里面
Thx @JoshHarington ,根据您的 apache/nginx 配置,现在文档根目录在哪里?
【参考方案1】:
根据您在 cmets 中的回答,我认为东西在哪里以及您期望它在哪里存在脱节。
你说:“目录是/var/www/mysite.com
,laravel直接安装在里面”
所以我希望是这样的:
/var/www/mysite.com/
app/
public/
vendor/
etc...
然后你说:“[webserver] 根设置为/var/www/mysite.com/public_html/
”
所以当你在浏览器中访问mysite.com
时,它指向/var/www/mysite.com/public_html/
,而mysite.com/public
指向/var/www/mysite.com/public_html/public/
,这似乎不是你想要的。
尝试将 Web 服务器根目录更改为指向 /var/www/mysite.com/public/
(Laravel 的“公共”目录)。
【讨论】:
以上是关于403 Forbidden on laravel项目,但没有别的的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 Backpack 无法删除项目,返回“403 Forbidden”错误
在 Laravel 4 中给出 403 Forbidden 错误的单一路线
403 Forbidden on PHPMyAdmin in Puppy Linux
请问Laravel5.3在Nginx1.8.1中只能显示首页,其它所有页面都显示403 Forbidden是啥原因?
Django Rest Framework + React JWT 身份验证,403 Forbidden on protected views