一个乐于分享的博客
关注互联网折腾服务器分享码农的日常

WP留言时提示403 forbidden?原来是Nginx配置出的错

WP留言时提示403 forbidden?原来是Nginx配置出的错

昨天尝试wordpress博客中留言时,居然提示403错误。不是千万人都在用的博客程序吗,怎么还会报错?与是开始了长达一小时的找错流程。

文件权限问题

网站目录权限

如果请求的PHP文件没有执行权限,访问是会报403错误的,修改文件权限为755。

chmod -R 755 /wwwroot/yantuz.cn/

nginx用户权限

如果还不行的话继续往下进行,查看nginx的启动用户和用户组。

vim /usr/local/nginx/conf/nginx.conf
#第一行
user www www;

得知nginx是以www用户启动的,所以再次修改网站目录

chown -R www:www /wwwroot/yantuz.cn/

当然,也可以反向思维,修改nginx.conf中的用户的root。

vim /usr/local/nginx/conf/nginx.conf
#修改为:
user root;
#重启nginx
service nginx restart

nginx配置

如果文件夹权限没有解决你的问题,那就要查看nginx配置了。

首先网站一定要设置默认文档,检查网站的虚拟主机配置文件

vim /usr/local/nginx/conf/vhost/yantuz.cn.conf
#查看配置
server{
    index index.html index.php; #确保有这行配置
}

如果上述全都检查过,仍然不行的话,接着往下看喽。这也是博主遭遇到的情况,可能是目录访问受到了限制,我的问题出在这一行。

server{
    # Deny access to PHP files in specific directory
    location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
}

本来以为是个WordPress的安全设置,字面意思是禁止掉一些敏感目录的访问请求,就顺手开启了。而提交评论的请求,正好在这些文件夹中,所以全被禁止掉了,注释掉这行,并重启nginx恢复正常。

遇到同样问题的小伙伴可以尝试在配置文件中查找deny all的字眼,目录或文件被禁止访问就会出现403报错啦。

转载务必注明出处:岩兔站 » WP留言时提示403 forbidden?原来是Nginx配置出的错
赞 (0) or 打赏

讨论区 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址