Как запретить robots.txt для просмотра, кроме поисковиков?
Необходимо запретить просмотр robots.txt, в .htaccess прописать для него deny from all. Но для определенных поисковиков доступ разрешить. Определять ботов по HTTP_USER_AGENT, например %{HTTP_USER_AGENT} !^yandex.*
Как создать такое правило в .htaccess ? - для всех запрещено (403), кроме конкретных ботов.
Ankhena W: Пожалуй, Вы очень смутно понимаете вопрос. При чем здесь robots.txt и ссылки для людей? Вам на моём (любом) сайте нужен роботс? - нет. А некоторым людям он может быть полезен. Если нечего написать - ничего не пишите.
Ankhena W: есть некоторые вещи, которые необходимо закрыть от индексации для ПС. В том числе, это могут быть служебные разделы. Эти вещи (которые закрыты для поисковиков) должны быть закрыты для всех.
Вы не поняли. rorbots.txt - это служебный файл, который предназначен только для поисковиков. Вот и задача стоит - сделать его только для поисковиков. Чтобы нельзя было его открыть в публичном виде никому, кроме прописанных в htaccess роботов.
SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yandex.* search_robot
SetEnvIfNoCase User-Agent .*bot.* search_robot
Order Deny,Allow
Deny from All
Allow from env=search_robot
Олег: Естественно, я в курсе этого. Мой ответ - прямой ответ на вопрос, не более. Поскольку автор вопроса в курсе общих принципов настройки веб-сервера, предполагаю, что он тоже в курсе, что фильтрация по User-Agent - это "от честных людей".
Moskus: Олег: К сожалению, я не компетентен в этих вопросах, поэтому и спросил мнение специалистов. Необходим просто код прям цитатой - что вставить в htaccess, чтобы было 403 для всех кроме роботов. Совсем глубоко копать не надо, по типу curl_setopt и т.д.. Максимальной "защиты от дурака" хватит, остальное же - полноценное администрирование сервера. А здесь - просто хостинг. Благодарю.
igorvoronezh: Код, который я привел выше, разрешает доступ для трех роботов и запрещает остальным. Но поскольку проверка происходит по User-Agent, любой человек может послать запрос на получение вашего robots.txt через browser или cURL, просто "прикинувшись" роботом.
Moskus: Добрый день. Большое спасибо за уделяемое время. SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yandex.* search_robot
Order Deny,Allow
Deny from All
Allow from env=search_robot
Не работает, равно как и . Этот код прописываю в самое начало htaccess, естественно всё в корне сайте. :(
Moskus: я попросил помощи у хостера, и вот каков был ответ. Не всё так просто. "Мы написали правило, которое позволяет блокировать доступ к файлу robots.txt для пользователей, однако разрешает доступ для указанных Вами юзер-агентов:
order deny,allow
deny from all
allow from env=search_bot
Однако, файл robots.txt является статическим файлом, в связи с чем обрабатывается веб-сервером NGINX, и правила файла .htaccess на него не срабатывают.
Мы можем переключить режим отдачи статики для Вашего сайта, после чего правило будет работать корректно.
Но при этом может увеличиться количество потребляемых сайтом ресурсов, т.к. все статические файлы будут обрабатываться веб-сервером Apache."
Вот и думаю - на сколько увеличится нагрузка... Стоит ли статику включать?..
Тостер обрезает код. Вот так (только без пробелов):
SetEnvIfNoCase User-Agent "^User-agent" search_bot
< Files robots.txt >
order deny,allow
deny from all
allow from env=search_bot
< /Files >
igorvoronezh: Тостер не обрезает код, если вы оборачиваете его в тег code.
Если у вас этот robots.txt не запрашивают тысячу раз в секунду, никакая нагрузка у вас не увеличится. Ну и да, кто же мог догадаться, что robots.txt отдается иначе.
Код, который вы привели в последнем комментарии, использовать не надо, это просто шаблон кода, а не работающий код.
Moskus: да, прошаблон кода я понимаю, т.к. в "^User-agent" надо подставлять конкретное что-то (сам поисковик либо фрагмент). А то, что обрезает код - к сожалению, в комментариях это нельзя применить (например я Вам пишу ответ), это если только общий ответ писать - там да, можно обернуть в код или конкретный язык. Я всё же прислушуюсь к Вам... действительно, статический файл роботс запрашивается не так часто, чтобы существенно увеличить нагрузку на сервер в общем...
igorvoronezh: Если Toster не дает использовать тег code в комментариях, то как, интересно, я пишу вот такое: Каким сервисом/программой снять скриншот, чтобы выглядел, как в MAC? (см. комментарии к моему ответу)? Просто теги тут нужно набирать вручную, а не красивой панелькой пользоваться.
Вы много спорите по поводу того, чего не знаете.