我有以下规则在我的htaccess文件:
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
我添加了这一点,以确保我的网站上的所有页面都是301到末尾有斜杠/的页面。现在它有问题了,因为谷歌报告说它得到了我的robots.txt文件的覆盖问题,因为它在末尾也得到了/。我如何从该规则中排除robots.txt文件?
/
robots.txt
vddsk6oq1#
尝试包含一个条件,以排除看起来像是具有文件扩展名的请求:
RewriteCond %{REQUEST_URI} !\.\w{2,4}$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
如果没有别的,这应该是一种优化,但是,正如注解中所指出的,检查REQUEST_FILENAME的RewriteCond指令应该已经排除了对/robots.txt的请求-假设它作为一个物理文件存在于文档根目录中,并且没有在内部重写到另一个文件或通过应用程序路由以动态生成robots.txt?
REQUEST_FILENAME
RewriteCond
/robots.txt
1条答案
按热度按时间vddsk6oq1#
尝试包含一个条件,以排除看起来像是具有文件扩展名的请求:
如果没有别的,这应该是一种优化,但是,正如注解中所指出的,检查
REQUEST_FILENAME
的RewriteCond
指令应该已经排除了对/robots.txt
的请求-假设它作为一个物理文件存在于文档根目录中,并且没有在内部重写到另一个文件或通过应用程序路由以动态生成robots.txt
?