我已经在网页根目录的 .htaccess 中阻止了一些 IP 地址,如下所示:
<RequireAll>
Require all granted
Require not ip xxx.xxx.xxx.xx
</RequireAll>
我还在网页的子目录中使用了一些插件,这些插件有自己的 .htaccess,可以覆盖阻止条目,如下所示:
<Files file.php>
Satisfy Any
Allow from all
</Files>
有什么方法可以防止子目录中的 .htaccess 文件覆盖阻止,或者我必须在所有 htaccess 文件中阻止 IP 地址?
答案1
您必须阻止每个 .htaccess 或尝试更改主/根配置文件。
为什么不使用白名单(允许某些主机)?
查看此帖子:
.htaccess 文件是 Apache 的目录配置文件。它会影响 .htaccess 文件所在的目录及其下的整个目录树。如果服务器允许,则会处理文件系统路径(URL 映射到的路径)上的所有 .htaccess 文件,从父目录开始,然后深入到子目录。因此,在您的示例中,如果请求的是 A 的 public_html 目录下的文件,则“根”中的 .htaccess 文件将在 A 的 public_html 目录中的 .htaccess 文件之前进行处理。