Динамический Robots.txt, на хостинге не работает конструкция RewriteRule ^robots.txt robots.php

Создание и продвижение сайтов

Когда есть необходимость создания динамического robots.txt, например для поддоменов, первое, что приходит в голову это подмена robots.txt на robots.php через .htacsses,  в том случае, если мы работает с тем же Open Server прокатывает конструкция :

RewriteRule ^robots.txt robots.php

Но, на большинстве хостинго такая штука не прокатит потому, что  статические файлы вроде robots.txt обрабатываются nginx 

Вот что говорит мой горячо любимый хостинг Beget  - это не сарказм я и правда считаю их лучшими.

Ответ техподдержки Beget

Вся статика с наших серверов отдается веб-сервером nginx, который отдает ее очень быстро, поэтому редирект для robots.txt работать не будет.

В вашем случае есть два варианта:

  1. Мы можем направить статику на Apache, но в таком случае возможны потери производительности и увеличение нагрузки на аккаунте. Тогда редирект на статические файлы будет также работать.

  2. Либо более хитрый ход, когда нужно убрать файл robots.txt, чтобы его не мог найти и отдать nginx и тогда запрос будет передан на Apache, где можно настроить правило редиректа на нужный файл.

 

Первый вариант нас не устраивает, а второй означает лишь то, что мы удаляем robots.txt совсем с нашего сервера и тогда запросы идут к нашим скриптам php. У меня была необходимость реализации на kohana поэтому все решилось через банальный роутинг 

Route::set( robots , robots.txt ) ->defaults

(

array( controller => MainPage , app => front , action => robots )

);

То беж простая переадресация запроса на контроллер MainPage и действие action_robots , а там уже пишем php скрипт какой нужен.

Если ко-му то нужна помощь в данном вопросе, нужна реализация динамического robots на вашем движке обращайтесь цена от 3000 рублей зависит от вашей платформы.

Мои услуги: Программист OpenCart

Комментарии
Наверх страницы