Если вы хотите запретить каталоги без запрещая файлов, вам нужно будет использовать специальные символы:
User-agent: *
Allow: /public/section1/
Disallow: /*/
выше позволит всем следующим:
http://example.com/
http://example.com/somefile
http://example.com/public/section1/
http://example.com/public/section1/somefile
http://example.com/public/section1/somedir/
http://example.com/public/section1/somedir/somefile
И запретит все следующее:
http://example.com/somedir/
http://example.com/somedir/somefile
http://example.com/somedir/otherdir/somefile
Просто имейте в виду, что подстановочные знаки не являются частью происхождения al robots.txt и не поддерживаются всеми сканерами. Они поддерживаются всеми основными поисковыми системами, но есть много других сканеров, которые их не поддерживают.
спасибо. Выше, похоже, делает то, что я хочу, после использования тестера Google в инструментах для веб-мастеров. Тем не менее, я не уверен в этом случае ... Когда я просматриваю 'http: // example.com/somedir', мой веб-сервер настроен на предоставление конечной косой черты и автоматически обслуживает index.html (если он существует) автоматически , Тестер роботов говорит, что 'http: // example.com/somedir' разрешен, но' http: // example.com/somedir/'заблокирован. Значит ли это все означает, что 'index.html' внутри' somedir' не будет виден роботом? – gus
Искатель попытается загрузить 'http: // example.com/somedir' и получит ответ 301 перенаправления, указывающий на' http: // example.com/somedir/'. Любая крупная поисковая система затем проверит новый URL-адрес против файла robots.txt перед тем, как перенаправить его, и увидит, что URL-адрес заблокирован и не будет следовать перенаправлению. Это справедливо для крупных поисковых систем. Я бы не удивился, если бы там были какие-то неясные спецназы, которые не работают таким образом, поэтому YMMV. – plasticinsect