.htaccess htaccess规则阻止robots.txt文件

fzsnzjdm  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(166)

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

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

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

vddsk6oq

vddsk6oq1#

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

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

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

相关问题