2016-01-21 2 views
1

Я хочу разрешить только один файл каталога /minsc, но я бы хотел запретить остальную часть каталога.Разрешить только один файл каталога в файле robots.txt?

Теперь в файле robots.txt это:

User-agent: * 
Crawl-delay: 10 
# Directories 
Disallow: /minsc/ 

файл, который я хочу, чтобы это /minsc/menu-leaf.png

Я боюсь причинить вред, поэтому я dont'know, если я должен в использование:

)

User-agent: * 
Crawl-delay: 10 
# Directories 
Disallow: /minsc/ 
Allow: /minsc/menu-leaf.png 

или

Б)

User-agent: * 
Crawl-delay: 10 
# Directories 
Disallow: /minsc/* //added "*" ------------------------------- 
Allow: /minsc/menu-leaf.png 

?

Спасибо и извините за мой английский.

+0

Не забывайте, что файл робот не любой вид безопасности. Это всего лишь «предложение». Поэтому я не думаю, что вы можете причинить какой-либо реальный ущерб здесь. Если вы ошибетесь, самое худшее, что может случиться, - это то, что поисковая система больше не будет индексировать ваш файл изображения. Файл robot * не будет * препятствовать доступу к файлу или другим файлам в этой папке, а также не будет препятствовать работе ваших скриптов. –

ответ

3

По the robots.txt website:

Чтобы исключить все файлы, кроме одного

Это в настоящее время немного неудобно, так как нет поля «Разрешить». легкий способ поместить все файлы, которые будут запрещены в отдельный каталог, скажем, «материал», и оставить один файл на уровне выше этого каталоге:

User-Agent: *

Disallow:/~ джо/материал/

В качестве альтернативы вы можете явно запретить все запрещенные страницы:

User-Agent: *

Disallow: /~joe/junk.html

Disallow: /~joe/foo.html

Disallow: /~joe/bar.html

Согласно Wikipedia, если вы собираетесь использовать директиву Allow, он должен идти до Disallow для максимальной совместимости:

Allow: /directory1/myfile.html 
Disallow: /directory1/ 

Кроме того, вы должны поставить Crawl задержку в прошлом, в соответствии с Yandex:

Для обеспечения совместимости с роботами, которые могут отклоняться от стандартного при обработке robots.txt , директива Crawl задержки необходимо быть добавляется в группу, которая начинается с права записи User-Agent после директив Disallow и Allow).

Таким образом, в конце концов, ваш файл robots.txt должен выглядеть следующим образом:

User-agent: * 
Allow: /minsc/menu-leaf.png 
Disallow: /minsc/ 
Crawl-delay: 10 
+0

поэтому вариант (A) моего сообщения, но для максимальной способности к сдаче лучше поставить «разрешить» до запрет. ОК? :) – Borja

+0

@ user3162975 Я только что отредактировал свой ответ. Посмотрите на конец. – pzp

0

Robots.txt - это своего рода «неофициальный» стандарт, который можно интерпретировать по-разному. Единственный интересный «стандарт» - это то, как интерпретируют его основные игроки.

Я нашел этот источник говорить, что подстановка («*» - символы стиля) не поддерживается:

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

http://www.robotstxt.org/robotstxt.html

Так, согласно этому источнику, вы должны придерживаться вашей альтернативы (А).

+0

, поэтому с (A) этот файл разрешен, пока остальная часть каталога не запрещена ... да? я боюсь нанести ущерб .. – Borja

+0

@ user3162975 Вот как я его прочитал, но я не эксперт в этой области --- никаких гарантий. На этом нет авторитетного стандарта; что вы можете сделать, это читать много разных источников и формировать мнение. – jforberg

+0

хм-м, вы правы :(между тем кто-то другой пишет, я пытаюсь понять больше .... спасибо большое! :) – Borja

Смежные вопросы