如何确认使用了正确的Robots.txt文件?

用户名

我正在从事的项目有多个stag和dev域,最终将具有实际的生产环境。我创建了两个robots.txt文件:

  1. robots.txt
  2. robots-nocrawl.txt

第一个当然是我要在生产环境中运行并允许Google抓取的标准文件。我不想索引我的dev和stag域,所以我想robots-nocrawl.txt在访问这些域时解雇,该文件只是具有Disallow /

我已将所需的代码添加到.htaccess文件中,如下所示,并将更改移至我的开发环境中。我可以看到nocrawl文件在那里,但是拉出了URL,但是robots-nocrawl.txt当我在dev / stag中时,如何检查/确认该文件是正在使用文件?我找不到测试该方法的方法。

RewriteCond %{HTTP_HOST} ^stag\.mollywade\.([a-z\.]+)$ [OR]
RewriteCond %{HTTP_HOST} ^dev\.mollywade\.([a-z\.]+)$ [OR]
RewriteRule ^/robots\.txt$  /robots_nocrawl.txt [L]

任何帮助和/或建议将不胜感激。

怀特先生

要检查它是否按预期工作,您只需提出必要的要求。例如:

  • example.com/robots.txt应该返回的内容robots.txt
  • stag.example.com/robots.txt应该返回的内容robots_nocrawl.txt
  • dev.example.com/robots.txt应该返回的内容robots_nocrawl.txt

但是,您当前的.htaccess文件中存在几个严重错误,这些错误将阻止其正常工作:

  • RewriteRule 模式 ^/robots\.txt$在每个目录的.htaccess上下文中将永远不匹配不应包含斜杠前缀。这应该是^robots\.txt$

  • 您有OR两个条件(如果不是上述模式不匹配),将导致RewriteRule无条件执行!

因此,这些指令应写为:

RewriteCond %{HTTP_HOST} ^(stag|dev)\.mollywade\.([a-z.]+)
RewriteRule ^robots\.txt$  /robots_nocrawl.txt [L]

您最好将这两个条件组合为一个,然后可以OR完全删除该标志。在字符类中使用时,无需转义文字点。$由于正则表达式默认为贪婪,因此尾随是多余的。

这个文件只是有 Disallow /

我认为这只是您输入中的错字,因为您缺少:应该是Disallow: /

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章