我正在 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。
编辑:不要忘记比较引擎正在使用正则表达式,因此您需要转义特殊字符(即.
)