网站根目录下的文件.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*.txt$ [NC]
RewriteRule .* - [L,R=404]
在这里,任何文件请求都会返回 404 错误txt。您需要更改正则表达式:
^.*.txt$
以便它匹配.txt除robots.txt.
网站根目录下的文件.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*.txt$ [NC]
RewriteRule .* - [L,R=404]
在这里,任何文件请求都会返回 404 错误txt。您需要更改正则表达式:
^.*.txt$
以便它匹配.txt除robots.txt.
你的错误是你写错了表达式。试试看:
我认为不值得解释简单的细节,例如:
^- 一行的开头,.*- 捕获 0 个或更多字符;我只会谈到(?<!robots).txt- 这个结构告诉我们正在搜索一个之前没有 的单词robots,然后是一个简单的文件格式.txt和行尾 ($)。作为临时解决方案,如下所示:
由于我的 robots.txt 是动态生成的 (php),因此此方法有效:浏览器无法访问所有扩展名为 .txt 的文件,但可以使用动态 robots.txt。