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 wamp server

403 Forbidden on PHPMyAdmin in Puppy Linux

请问Laravel5.3在Nginx1.8.1中只能显示首页,其它所有页面都显示403 Forbidden是啥原因?

Django Rest Framework + React JWT 身份验证,403 Forbidden on protected views