Я знаю могу создать ОДИН файл robots.txt для всех доменов на сервере Apache *, но я хочу добавить в файл robots.txt каждого домена (если он уже существует). Мне нужны некоторые общие правила для всех доменов, но мне нужно разрешить различным доменам иметь свои уникальные правила.
Есть ли способ добиться этого?
(* В моем случае Apache 2.2.x)
С точки зрения 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 останавливаются, как только находят соответствующий им блок.