0

我想知道 Robots.txt 中的以下代码是做什么的。

User-agent: *
Disallow: /*?

有任何想法吗?

4

3 回答 3

1

该行告诉机器人不要在此主机上Disallow: /*?获取任何包含 a 的 URL 。?

这似乎是对只有 Googlebot 支持的官方标准的扩展。

于 2012-11-07T08:27:08.340 回答
1

请注意,原始 robots.txt 规范*中的 不是通配符。因此,不支持各种 robots.txt 扩展名的解析器会将 解释为字符本身。*

对于那些解析器,规则将被解释为:“所有机器人,不要抓取 *?.

例如,这些 URL 将被阻止:

  • example.com/*?
  • example.com/*?.html
  • example.com/*?foobar

虽然这些 URL不会被阻止:

  • example.com/foo*?
  • example.com/foo*?.html
  • example.com/foo*?foobar
于 2012-11-08T05:42:11.163 回答
0

它的意思是“禁止所有搜索引擎抓取地址栏中包含问号的页面”。因为问号用于将查询参数与脚本名称分开,它基本上会阻止您的动态内容被索引。例如index.php将被抓取,但index.php?page=main将被禁止抓取。

通常,Robots.txt 用于阻止/允许搜索引擎抓取您网站的部分内容。它可以包含三个指令:User-agent、Allow 和 Disallow。用户代理是指搜索引擎:

User-agent: *

表示所有搜索引擎,而您也可以具体说明要禁止的特定搜索引擎。例如,要阻止 Google 将您的网站编入索引,您可以在 robots.txt 中编写:

User-agent: Goolge-bot

您可以在此处找到 robots.txt 的搜索引擎列表。

Allow 和 Disallow 分别列出允许/禁止爬取的文件夹或文件。它使用正则表达式语法。

Disallow: /

意思是“不要在我的网站上抓取任何东西”。您可以像这样组合禁止和允许:

User-agent: *
Allow: /*?
Disallow: *.jpg

基本上意思是“允许抓取动态链接(包含问号的页面),但不允许抓取JPG图片链接”。这是来自 Google 的 robots.txt 的更详细描述

于 2012-11-07T08:39:13.000 回答