htaccess 规则阻止 robots.txt 文件

htaccess rule blocking robots.txt file

我的 htaccess 文件中有以下规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$        // [L,R=301]

我添加了这一点,以确保我网站上的所有页面都是 301 到末尾带有斜杠 / 的页面。现在它出现了问题,因为 google 报告它在我的 robots.txt 文件中遇到了覆盖问题,因为它也在末尾获取 / 。如何从该规则中排除 robots.txt 文件?

谢谢!

尝试包含一个条件,以排除看起来好像具有文件扩展名的请求:

RewriteCond %{REQUEST_URI} !\.\w{2,4}$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$        // [L,R=301]

如果没有别的,这应该是一个优化。但是,如评论中所述,检查 REQUEST_FILENAMERewriteCond 指令应该已经排除了对 /robots.txt 的请求 - 假设它作为文档根目录中的物理文件存在并且没有在内部重写为另一个文件或通过您的应用程序路由以动态生成 robots.txt