军哥,网页Access Denied怎么办?
自己的一个discuz网站,因为给服务器硬盘做了个快照,然后所有页面都变成了404,折腾了好久,后来修改了挂载硬盘的路径之后,个别文件能打开了,其他网页都显示Access Denied。具体如下:1)所有html文件都打不开,显示Access Denied,但改成htm就能打开。如同一个文件挂不同后缀 http://www.wangedou.com/index.htm 和 http://www.wangedou.com/index.html
2)p.php和phpinfo.php能打开,而原来网页的PHP都打不开,提示Access Denied。网站地址是 http://www.wangedou.com/
Nginx的日志如下:
php-fpm配置如下:
还需要什么资料,您告诉我
如果你网站在你修改的挂载目录下面,需要同步修改对应域名虚拟主机配置文件中的网站目录为新的网站目录
按你贴出的日志php-fpm挂了
另外如果改过网站目录权限,网站目录权限属主属组也需要是www
如果改过什么配置文件,都得说一下 之前处理404问题的时候改来改去,都记不清改过啥了,目前确定的是现在的nginx配置用的是以前的,路径我挂载的地方和原来的一样,nginx.conf应该没问题。
php-fpm文件的“user = www”和“group = www”好像改过,不知道用www对不对,但是如果把“user = www”和“group = www”改为root就提示错误;
另外网页所在目录的权限也改过,不知道正常应该是什么,我是在centos的图形界面进行修改的,所有者和组为www或者所有者和组为root都试了,都不行。
最奇怪的是,为什么htm能打开,而html就提示Access Denied,二者有啥区别?另外,p.php能打开,而portal.php就提示Access Denied,会是数据库之类的问题造成的吗?
flybit 发表于 2020-11-16 21:55
之前处理404问题的时候改来改去,都记不清改过啥了,目前确定的是现在的nginx配置用的是以前的,路径我挂载 ...
user和group都必须是www
贴nginx的和对应域名的配置文件看一下,是否改过php.ini中的cgi.fix_pathinfo?
网站目录文件都属组属组必须是www,不清楚怎么改,用命令 chown www:www -R网站目录路径
网站目录文件权限644,chmod -R 644 网站目录路径,有特殊要求的目录另外再做设置 感谢军哥,Access Denied问题解决了,过程一波三折,具体过程如下:
第一步、html和htm的问题,在nginx中加了对html的支持之后,就可以打开html后缀的文件了。
具体是把
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
root /var/www/img/;
expires 30d;
}
改为了
location ~ \.(gif|jpg|jpeg|png|bmp|ico|html)$ {
root /var/www/img/;
expires 30d;
}
我不知道原理,也不知道会有什么不良后果,当时能打开了。
第二步、Access Denied问题解决了,但我也不知道是怎么解决的,一方面我曾按您说的修改了目录权限,同时我还发现一个之前误删的问题,具体是我把硬盘快照恢复到了之前的状态,发现之前为了清除木马,我曾经改过discuz的class_core.php文件,删除了一段会让我的网站从百度跳转到一个赌博网站的代码,经过对比,发现当时删多了,误删了一句“define('IN_DISCUZ', TRUE);”,也不知道具体是哪个原因造成的。
第三步、经过第二步之后,我发现虽然网站PHP页面可以打开,但伪静态页面打不开,出现404,经过反复试验,发现经第一步添加的html支持去掉,伪静态页面html就可以打开,而一旦去掉,则正常的静态页面在打开时就会自动跳转为手机界面如下:
不知道具体原因,但问题解决了,谢谢军哥,给您添麻烦了,虽然我不懂原理,但问题解决了,也希望能够给遇到类似问题的朋友一点参考。
nginx配置文件你肯定动了不少
discuz x源码都删肯定报错
嗯嗯,改的太多,改来改去都不知改过什么了,以后还是要养成做记录的习惯。
页:
[1]