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

Как сделать один 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?)
  • Вопрос задан
  • 5570 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 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 тоже должно работать, но синтаксис мб другой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы