如何使用 htaccess 使子文件夹无法访问并且无法从根目录下载文件?

How to make a subfolder unreachable and files undownloadable from root directory using htaccess?

我想使一个名为 backups 的子文件夹无法访问,并且借助 .htaccess 放置在主目录中的文件可以下载其中的文件。我不想在子文件夹中创建辅助 .htaccess 文件。

我做了几个重写和拒绝命令但没有效果。

您可以使用根 .htaccess 文件顶部的 mod_rewrite 执行以下操作以阻止(即 403 禁止)对 /backups/backups/<anything> 的任何请求.例如:

RewriteEngine On

# Block any HTTP requests to "/backups" subdirectory
RewriteRule ^backups($|/) - [F]

请注意,当在 .htaccess 中使用时,RewriteRule pattern 匹配的 URL-path 不以斜杠开头。

或者,在 Apache 表达式中使用 mod_authz_core 以仅针对 /backups 子目录。例如:

# Block any HTTP requests to "/backups" subdirectory
<If "%{REQUEST_URI} =~ m#^/backups($|/)#">
    Require all denied
</If>