Как создать глобальный файл robots.txt, который добавляется к собственному файлу robots.txt каждого домена в Apache?
Я знаю, что можно создать ОДИН файл robots.txt для всех доменов на сервере Apache *, но я хочу добавить к каждому домену (если он существует) файл robots.txt. Мне нужны некоторые общие правила для всех доменов, но мне нужно разрешить различным доменам иметь свои уникальные правила.
Есть ли способ сделать это?
(* В моем случае Apache 2.2.x)
2 ответа
С точки зрения Apache, robots.txt
это просто актив, который нужно обслуживать. Вы можете изменить содержание, возвращаемое, когда robots.txt
запрашивается путем прохождения через выходной фильтр.
Если вы хотите добавить текст, вы можете определить внешний фильтр. Предполагая, что Apache работает в Unix-подобной операционной системе, конфигурация фильтра может быть
ExtFilterDefine appendRobotstxt cmd="/bin/cat - /var/www/html/robots-tail.txt"
<Location /robots.txt>
SetOutputFilter appendRobotstxt
</Location>
Что бы объединить robots-tail.txt
до конца ответа.
Обратите внимание, что вам, вероятно, придется включить изменения. Если домен уже имеет
User-agent: *
Disallow: /search
и вы хотите добавить для всех доменов
User-agent: *
Disallow: /admin/
вам придется сделать это
User-agent: *
Disallow: /search
Disallow: /admin/
потому что robots.txt парсеры останавливаются, как только они находят соответствующий им блок.