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

Как создать /robots.txt для Rails приложения?

Rails 5.0.0.
Файл robots.txt находится в каталоге public приложения.
Также рядом с ним находятся такие файлы, как: sitemap.xml.gz и файлы подтверждения прав (гугла и яндекса). Все эти файлы доступны по site.ru/файл.формат как в development, так и в production.

Но проблема почему-то возникает исключительно с файлом robots.txt. Он был доступен по адресу только в development. Теперь он вообще не доступен. Я перезагружал его на сервер - не помогло.

Команда
curl http://site.ru/robots.txt
возвращает пустоту.

В чем дело?

UPD
Сейчас имею это следующее.
В development режиме:
curl http://site.ru/robots.txt
User-agent: *
Disallow:
Disallow: /user
Disallow: /admin

Sitemap:


В production режиме тоже, что и выше. Но это все кэш. Яндекс не может получить доступ к файлу, когда он в production режиме. В чем дело?
  • Вопрос задан
  • 889 просмотров
Подписаться 2 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
Возможно кто-то перехватывает запрос на robots.txt. Перепроверьте routes.rb, запустите rake routes, отключите все посторонние гемы, если у вас используется Nginx проверьте, что там тоже нет никаких обработчиков. Следует быть внимательнее, так как необязательно перехват идёт по robots.txt, может быть и какой-нибудь нечитаемый wildcard.
Ответ написан
Комментировать
@Falsealarm
Если вы используете nginx, в файле конфига должен быть указан файл robots.txt, так как раздачей файлов управляет веб сервер.

server {
        .....
        location ~ ^/(assets|fonts|system)/|favicon.ico|robots.txt {
          gzip_static on;
          expires max;
          add_header Cache-Control public;
        }
        .....
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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