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

Apache 2.4:如何通过顶层配置递归禁止特定文件扩展名与目录访问?

实现Apache递归禁止特定文件/目录访问

可以通过单个顶层.htaccess文件实现递归禁止访问指定扩展名文件和目录,以下是具体配置:

1. 禁止.bak等特定扩展名文件

在顶层htdocs目录的.htaccess中添加以下规则,会递归作用于所有子目录下的.bak文件:

<FilesMatch "\.bak$">
    Require all denied
</FilesMatch>
  • 规则说明:匹配所有以.bak结尾的文件,直接返回403 Forbidden。
  • 注意:如果子目录存在自定义.htaccess文件且包含冲突规则,会覆盖顶层配置。

2. 禁止.git等特定目录及其内容

同样在顶层.htaccess中添加Rewrite规则,拦截所有包含.git路径的请求:

RewriteEngine On
# 拦截任何路径下的.git目录及其中的内容
RewriteRule ^(.*/)?\.git(/.*)?$ - [F,L]
  • 规则说明:匹配URL中任意位置的.git目录(包括子目录下的.git),[F]标记返回403,[L]标记终止后续规则处理。

若.htaccess无法实现(如权限限制),用httpd.conf全局配置

如果服务器禁止使用.htaccess(AllowOverride None),可以直接修改httpd.conf添加全局规则,性能更优且不受子目录影响:

禁止特定扩展名文件

<FilesMatch "\.bak$">
    Require all denied
</FilesMatch>

禁止特定目录

<DirectoryMatch "/\.git">
    Require all denied
</DirectoryMatch>
  • 配置后重启Apache服务生效,该规则会作用于整个服务器范围内的所有站点(若需仅针对特定站点,可将规则放在对应<VirtualHost>块内)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:50:34