【问题标题】:Block access in robot.txt在 robots.txt 中阻止访问
【发布时间】:2013-08-27 23:23:45
【问题描述】:

如果我想阻止访问我的服务器中的所有 .py 文件,但允许所有文件与此 .py 文件位于同一文件夹中,我应该在我的 robots.txt 中添加什么?这就是我现在所拥有的:

User-Agent: *    
Disallow: /*_.py

【问题讨论】:

  • 为什么*_.py? 你不想*.py 吗?
  • 文件必须命名为robots.txt,而不是robot.txt

标签: robots.txt


【解决方案1】:

robots.txt 文件没有“定义的标准”,但http://www.robotstxt.org/ 上汇总了很多信息。

http://www.robotstxt.org/robotstxt.html 上声明:

具体来说,您不能有“User-agent: *bot*”、“Disallow: /tmp/*”或“Disallow: *.gif”之类的行。

虽然某些爬虫确实允许使用通配符,但如果您想要一个可靠的解决方案,您最安全的选择是假设 no 爬虫会将您的Disallow: 行放入帐户,并建议您找到替代解决方案。否则,您将实施一个得到某些搜索引擎支持的解决方案,同时让您的网站对其他人开放。

【讨论】:

    【解决方案2】:

    根据this pagethis one,特定的爬虫/机器人(例如Googlebot 和MSNBot)确实支持在“Disallow:”行中使用星号(*)。

    例如,如果您想阻止 Googlebot 访问您的 .py 文件,您可以使用:

    User-agent: Googlebot
    Disallow: /*.py$
    

    美元符号 ($) 表示文件名的结尾(包括其扩展名)。请注意,Googlebot-Image 和 MSNBot 也遵循此语法。但是,由于我无法找到有关其他爬虫支持此功能的信息,您可能需要指定本文中提到的“用户代理”的语法。

    当然,从长远来看,最好找到一个通用的解决方案,但这可能是一个快速的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      相关资源
      最近更新 更多