Настройка robots.txt через php файл для поддоменов

Если на проекте присутствует несколько поддоменов, то рано или поздно вы столкнетесь с вопросом разных файлов robots.txt для каждого из них. Но что делать, если htaccess отказывается менять файл для каждого условия?

Как добавить поддоменам разные robots.txt при помощи PHP в файле htaccess?

Что из себя представляет данный файл? Как правило, его структура выглядит так:

Основная причина, почему в статье речь пойдет про PHP:
1. вам не придется создавать для каждого поддомена свой личный файл robots.txt (это плюс, если таких поддоменов больше 3, например, региональные)
2. на некоторых площадках, htaccess должным образом не обрабатывает правила замены

О каких правилах замены идет речь? Ну, предположим:

А теперь Решение:
Т.к. работаю с битриксом, то в моем случае этот блок настоек выглядит так:

Добавили строчку:

RewriteRule ^robots.txt$ robots_for_domain.php [L]

Теперь, код php файла:

Обратите внимание, для всех поддоменов, добавили проверку, если это не основной сайт (site.ru), то дописываем Disallow:

Вот таким нехитрым образом, мы подключили обработку всех robots.txt на один файл.
У этого метода есть только один, на мой взгляд, существенный минус — если вам нужны уникальные строки для одного из поддоменов, то вам необходимо будет при помощи проверок, свич-кэйсов и прочих методов добавить это в php файл.

Но это уже, как говорится, совсем другая история 🙂 .

Если на Вашем проекте необходимо добавить выбор города или региона с переходом на поддомен, обращайтесь ко мне.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *