代码之家  ›  专栏  ›  技术社区  ›  fips123

通配符是否意味着没有字符?

  •  1
  • fips123  · 技术社区  · 6 年前


    User-agent: *
    
    Disallow: /*/admin/*
    

    此规则现在是否适用于两页:

    http://www.example.org/admin http://www.example.org/es/admin

    1 回复  |  直到 6 年前
        1
  •  1
  •   unor Daniel Garijo    6 年前

    * 在里面 Disallow 价值观没有什么特别的意义,它只是一个和其他任何东西一样的特征。所以,遵循原始规范的机器人会爬行 http://www.example.org/admin http://www.example.org/es/admin .

    一些机器人程序支持原始robots.txt规范的“扩展”,一个流行的扩展是 在里面 不允许 值必须是通配符。然而,这些扩展在某些地方并没有标准化,每个bot可以对其进行不同的解释。

    最流行的定义可以说是 from Google Search

    * 指定任何有效字符的0个或多个实例

    你的榜样

    在解释 但是,根据上面的定义,您的两个url仍然可以被爬网。

    你的 /*/admin/* http://www.example.org/admin 只有两个。

    (另请注意 User-agent 不允许 不允许使用行。)

    User-agent: *
    Disallow: /admin
    Disallow: /*/admin
    

    这至少会阻止相同的内容,但可能会超过您想要阻止的内容(取决于您的URL):

    User-agent: *
    Disallow: /*admin
    

    请记住,遵循原始robots.txt规范的机器人程序在解释时会忽略它 * User-agent: * )支持通配符的。