You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache2+PHP-FPM环境下.htaccess禁止PHP文件访问失效问题排查

问题描述

在Apache2环境中,尝试通过.htaccess文件禁止访问特定PHP文件,配置如下:

<Files test.php>
  Require all denied
</Files>

但该配置不起作用。不过禁止访问其他类型文件(如HTML)的配置却能正常生效:

<Files test.html>
  Require all denied
</Files>

测试多种文件类型后发现,除PHP外均正常生效,当前使用PHP-FPM,请问问题出在哪里?

解决方案

问题已解决,感谢@life888888的指引。

问题根源是使用的面板在站点配置中添加了如下条目:

ProxyPassMatch ^(.*\.php)$ fcgi://127.0.0.1:9000/var/www/vhosts/example.com/httpdocs/$1

注释掉该行并替换为以下配置后问题解决:

<FilesMatch \.php$>
  SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

现在PHP脚本仍通过PHP-FPM运行,同时.htaccess及其他指令均可正常生效。再次感谢各位的帮助,尤其是@life888888。

内容的提问来源于stack exchange,提问作者andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:04:57