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 加载图像时禁止
API:Laravel 中的 Ajax 帖子 - 403(禁止)