如何限制访问除了robots.txt之外的所有.txt文件?

我在Debian上configurationapache2,并希望只允许search引擎访问robots.txt,而其他.txt文件是受限制的,我试图添加以下.htaccess但没有运气:

<文件robots.txt>
订单允许,拒绝
全部允许
</文件>

<Files * .txt>
拒绝订单,允许
拒绝所有
</文件>

任何人都可以帮助或给我一些提示? 我是apache的新来者,非常感谢。

使用mod_rewrite

RewriteEngine On RewriteCond %{REQUEST_URI} !/robots\.txt$ [nocase] RewriteRule \.txt$ - [forbidden,last] 

首先,确保重写引擎处于启用状态。

接下来,使用否定匹配( ! )将条件应用于RewriteRule ,排除任何以“/robots.txt”结尾的URI

最后,如果URI以“.txt”结尾,则发出403 Forbidden。

编辑:不要忘记比较引擎正在使用正则expression式,所以你需要转义特殊字符(即, .