Задать вопрос

Как сделать один robots.txt для всех поддоменов?

Ситуация такая, на сайте есть большое количество динамических поддоменов, типа username.site.com, их все обрабатывает скрипт основного домена, правила в .htaccess
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.site\.com$ [NC]
RewriteRule (.*) index.php?cn=%2 [NC,QSA]


Соответственно, при проходе краулера, он идет на username.site.com/robots.txt которого там нет и быть не может, потому что он находится в корне сайта и доступен по site.com/robots.txt. Как перенаправить робота на основной robots.txt?
Что-то читал про symlinks но так и не разобрался как правильно настроить, а может опять выручит mod_rewrite?)
  • Вопрос задан
  • 5592 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
viktorvsk
@viktorvsk
у вас же username.site.com структура файлов динамическая и задается один раз на всех ? Не на каждого пользователя ведь своя директория?
Тогда нужно просто в эту динамическую директорию добавить симлинк. Сложного ничего. Симлинк - это как в виндовсе ярлык.
Если графического интерыейса нет, то всего то
user@computer~$ cd /path/to/usersite/folder
user@computer~$ ln -s /path/to/site.com/robots.txt robots.txt

Программировать на вебсервере все-таки не лучшая идея
Ответ написан
svd71
@svd71
почему бы вам не делать реврайт на определенный скрипт, который будет определять обращение к robots.txt и выдавать нужный контент, иначе загружать запрошенный скрипт?
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
В конфиге апача это делается так:
Alias /robots.txt /path/to/robots.txt

В конфиге nginx:
location =/robots.txt { root /dir/where/robots_is_laying; }


В htaccess тоже должно работать, но синтаксис мб другой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽