Что означает каталог двойной косой черты (//) в файле robots.txt?

352
scrapy

Вы получите следующий вывод:

curl https://www.ibm.com/robots.txt 

Я удаляю много строк, оставляя только часть.

User-agent: * Disallow: // Disallow: /account/registration Disallow: /account/mypro Disallow: /account/myint  # Added to block site mirroring User-agent: HTTrack Disallow: / # 

Я понимаю, что это /означает корневой каталог, но что здесь означает двойной слэш- //каталог robots.txt?

2
Это может быть опечатка, я не могу найти ни одной ссылки на двойную косую черту ни в одном из официальных документов по исключению роботов. Michael Frank 5 лет назад 2
@MichaelFrank Опечатка или случайность кодирования, выполненная автоматизированной системой, генерирующей `robots.txt` по запросу. JakeGould 5 лет назад 0

1 ответ на вопрос

1
JakeGould

Это похоже на ошибку:

Disallow: // 

Дело в том, что robots.txtспецификация, как указано здесь, четко гласит:

Также обратите внимание, что глобализация и регулярные выражения не поддерживаются ни в строках User-agent, ни в Disallow. '*' В поле User-agent является специальным значением, означающим «любой робот». В частности, вы не можете иметь такие строки, как «User-agent: bot », «Disallow: / tmp / *» или «Disallow: * .gif».

Но некоторые люди утверждают, что это не тот случай, например, этот сайт утверждает, что Google может обрабатывать сопоставление с шаблоном :

Сопоставление с образцом . В настоящее время сопоставление с образцом может использоваться тремя основными категориями: Google, Yahoo и Live Search. Значение сопоставления с образцом является значительным. Давайте сначала рассмотрим самый простой способ сопоставления с образцом, используя подстановочный знак звездочка.

Но независимо от этого, это //означает буквальный каталог каталога без имени, прикрепленного к этому каталогу, так как там нет подстановочных знаков ( *) или чего-либо еще. И //кажется странным.

Я думаю, что это какая-то ошибка. Да, веб-мастер IBM может ошибаться! Но я бы также предположил, что robots.txtкакая-то система автоматически генерируется, и каким-то образом такой путь /*/был преобразован в тот, //когда система robots.txtавтоматически генерировала этот путь .

Либо это, либо запись специально предназначена для предотвращения индексации ошибочных URL-адресов с избыточной косой чертой. grawity 5 лет назад 0
@ grawity Справедливо, но я не слишком уверен, что было бы полезно иметь URL-адрес `example.com // thing` в качестве нечетного способа скрытия данных от сканеров. JakeGould 5 лет назад 0

Похожие вопросы