403 禁止回复 – 我应该寻找什么?

问题描述 投票:0回答:3

我有一个脚本给我错误

403 Forbidden error
,它只是另一个脚本的副本,但区别在于两者都使用另一个 mysql 类来访问数据库。

我的整个项目已完成,这是最后一个文件,因此我不想为单个文件再次完成整个工作。

服务器日志显示 客户端被服务器配置拒绝:

我应该寻找什么?

我尝试过以下方法:

  • 权限为644
  • 仅带有简单 echo 的新文件也给出 403
  • 更改文件夹名称

但是,

index.php
效果很好。

php permissions webserver
3个回答
16
投票

检查文件的权限以及 所有权。一般来说,403表示Web服务器没有读取该文件的权限,因此无法继续请求。权限可能设置正确,但该文件可能由服务器上的另一个帐户拥有 - 该帐户与运行服务器的帐户不属于同一组。

例如,我相信* Apache 默认情况下在

httpd
用户帐户下运行,该帐户是
httpd
组的一部分。但是,您登录的 FTP 用户(例如
ftpuser
)可能不属于
httpd
组。因此,在复制文件时,您在不同的用户帐户下创建了该文件,Apache 将无法通过
644
获得执行访问权限。

* 好久没用apache了,不过nginx下也差不多。


6
投票

如果您已拒绝

.htaccess
文件中的所有内容,则会出现此问题。更改即可解决问题。


2
投票

我也有同样的问题。我的根文件夹中的

.htaccess
文件包含以下代码:

<Files ~ "\.(php|php5|py|jsp|cgi|sh)$">
    Require all denied
</Files>

但是有一个文件夹

/example
我需要在其中调用 php 文件,因此我在该特定文件夹中创建了一个
.htaccess
文件,其中包含以下内容:

<Files ~ "\.(php)$">
    Require all granted
</Files>

注意:我正在运行 Apache 2.4

© www.soinside.com 2019 - 2024. All rights reserved.