我有一个脚本给我错误403 Forbidden error
,它只是另一个脚本的副本,但不同之处在于它们都使用另一个mysql类来访问数据库。
我的整个项目已经完成,这是最后一个文件,因此我不想再为单个文件完成整个工作。
服务器日志显示客户端被服务器配置拒绝:
我应该寻找什么?
我尝试了以下内容:
但是,index.php
效果很好。
答案 0 :(得分:13)
检查文件的权限以及 所有权 。通常,403表示Web服务器无权读取文件,因此无法继续请求。可以正确设置权限,但该文件可能由服务器上的另一个帐户拥有 - 该帐户不是与运行服务器的帐户属于同一组的帐户。
例如,我相信* Apache默认运行在httpd
用户帐户下,该帐户是httpd
组的一部分。但是,您登录的FTP用户(例如ftpuser
)可能不属于httpd
组。因此,在复制您使用其他用户帐户创建的文件时,Apache将无法通过644
获得执行权限。
*自从我使用了apache以来已经有一段时间了,但在nginx下它是类似的。
答案 1 :(得分:5)
如果您在.htaccess文件中拒绝了所有内容,则会出现此问题。更改可以解决问题。
答案 2 :(得分:0)
我有同样的问题。我的根文件夹中的.htaccess
文件具有以下代码:
<Files ~ "\.(php|php5|py|jsp|cgi|sh)$">
Require all denied
</Files>
但是有一个文件夹/example
,我需要在其中调用php文件,因此我在该特定文件夹中创建了一个.htaccess
文件,内容如下:
<Files ~ "\.(php)$">
Require all granted
</Files>
注意:我正在运行Apache 2.4