有没有办法覆盖子目录中的 htaccess 文件?过去几个小时我一直在谷歌搜索,没有找到任何有用的信息。
我想阻止一些 IP 和不需要的机器人,但我的 403 页面位于子目录中,所以我必须覆盖其中的 ,Deny
但Allow from all
似乎无法撤消Deny
。以下是我一直在尝试的代码:
/public_html/.htaccess
<Limit GET POST>
Order Allow, Deny
Allow from all
Deny from 111.13.8.*
</LIMIT>
<Files "/errors/">
Order Allow, Deny
Allow from all
</Files>
它返回 500 错误。由于机器人无法访问errors
子目录的 htacess 文件,因此此代码必须放在此处。
答案1
我想你想要
<Files "/errors/*">
代替
<Files "/errors/">
答案2
你可以缩小.htaccess
到
<Limit GET POST>
Deny from 111.13.8.*
</LIMIT>
.htaccess
并且您可以在每个子目录中拥有一个,因此您可以在子目录中执行以下操作errors
:
<Limit GET>
Allow from *
</LIMIT>
看http://www.askapache.com/htaccess/using-filesmatch-and-files-in-htaccess.html用于该Files
指令的使用。
所有这些都假设您完全被允许覆盖 public_html 目录中的指令。