Laravel 403 禁止错误

Posted

技术标签:

【中文标题】Laravel 403 禁止错误【英文标题】:Laravel 403 Forbidden Error 【发布时间】:2017-08-18 00:52:04 【问题描述】:

正如标题所说,我在 Laravel 项目中收到错误 403(页面标题)。在本地,它可以正常工作,但是当我尝试将其上线时,它会在网络主机/我的域上给我:

禁止 您无权访问此服务器上的 /。 此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。

我从公共文件夹中删除了.htaccess 文件,但没有任何反应。 有什么解决办法吗?

【问题讨论】:

你的文件夹结构是什么?即laravel/app 相对于httpdocs 在哪里? 目录和文件的所有权和访问权限是什么? 我在一个项目中遇到了类似的问题,清除 cookie 解决了。 【参考方案1】:

你的 .htaccess 没有被 apache 解析,因为虚拟主机配置中缺少 AllowOverride All 指令。 Laravel 需要 .htaccess 文件。放回去。然后更改服务器上的 apache 虚拟主机配置以允许 .htaccess

<VirtualHost *:80>
    ServerName www.example.net
    DocumentRoot "/var/www/html/example3"
    <Directory /var/www/html/example3>
         DirectoryIndex index.php
         AllowOverride All
         Require all granted
    </Directory>
</VirtualHost>

像这样更改您的虚拟主机并通过sudo service apache2 restart 重新启动apache。

www.example.net/var/www/html/example3 替换为正确的详细信息。

【讨论】:

我他妈的爱你,为这个问题苦苦挣扎了三个多小时【参考方案2】:

如果你使用自己的Request,将授权函数更改为返回true:

public function authorize()

    return true;

就这么简单!

【讨论】:

【参考方案3】:

你可以试试这些命令。

sudo chmod -R gu+w project_folder
sudo chmod -R guo+w project_folder

chmod -R 775 storage/
chmod -R 775 bootstrap/cache

【讨论】:

不过,有趣的提醒并没有解决。

以上是关于Laravel 403 禁止错误的主要内容,如果未能解决你的问题,请参考以下文章

403 从公共/图像文件夹 laravel vuejs xampp 加载图像时禁止

LARAVEL - JQuery AJAX 403 禁止

Laravel + NGINX 给 403 禁止

API:Laravel 中的 Ajax 帖子 - 403(禁止)

403 禁止 您没有权限访问此服务器上的 /。部署 Laravel 项目后

403 禁止 没有权限