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

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

我正在 debian 上配置 apache2,并且只想允许搜索引擎访问 robots.txt,而其他 .txt 文件则受到限制,我尝试将以下内容添加到 .htaccess,但没有成功:

<Files robots.txt>
顺序允许,拒绝
全部允许
</Files>

<文件 *.txt>
顺序拒绝,允许
全部拒绝 <
/文件>

有人能帮助我或给我一些提示吗?我是 Apache 新手,非常感谢。

答案1

使用 mod_rewrite

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

首先,确保重写引擎已启用。

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

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

编辑:不要忘记比较引擎正在使用正则表达式,因此您需要转义特殊字符(即.

相关内容