apache 2.4+ 目录权限配置必须使用绝对路径匹配documentroot,禁用order/allow/deny,改用require模型(如require all granted/denied),敏感目录需单独定义并限制options与allowoverride,多条件授权须嵌套容器,配置后需执行apachectl configtest并reload服务。

路径必须是绝对路径,且与 DocumentRoot 完全一致
例如虚拟主机配置中设了:DocumentRoot "/var/www/example.com"
那么对应目录块必须写:
<directory></directory>
不能简写为 /var/www 或 /var/www/example.com/(末尾斜杠不推荐,易导致匹配失败)。
子目录需单独定义,按最长路径优先匹配
上传目录、后台目录等敏感路径要拆出来独立控制:
<directory>
Options -Indexes -ExecCGI
AllowOverride None
Require all granted
<filesmatch>
Require all denied
</filesmatch></directory>
Require 规则默认是“或”关系,多条件组合要用容器
比如“允许内网 + 允许本地 + 但排除某个 IP”,得这样写:
<requireall>
Require ip 192.168.1.0/24
Require local
Require not ip 192.168.1.50
</requireall>
Options 和 AllowOverride 不管“谁可访问”,只管“能做什么”
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
Options -Indexes +FollowSymLinks:禁目录列表,允符号链接(常见公开目录) -
Options None:最严,禁所有扩展(适合纯静态资源) -
AllowOverride None:禁 .htaccess,提升安全与性能(生产环境首选) -
AllowOverride All:仅当真需动态覆盖时启用,且确保 .htaccess 内容可信
配置完务必执行:
apachectl configtest && systemctl reload httpd
并检查系统级文件权限(如 uploads 目录需 Apache 用户可写,但不可执行脚本)。









