@Deymos
РИМ

Как сделать динамический robots на nginx?

Пробую сделать динамический robots.txt (для поддоменов) на сервере с nginx, для этого нужно, чтобы скрипт php запускался при обращении на адрес site.ru/robots.txt. Я думал, что можно просто настроить алиас в конфиге nginx, однако alias работает только со статикой, поэтому конструкция:
location /robots.txt {
       alias /var/www/www-root/data/www/site.ru/robots.txt.php;
}

Отдаёт только содержимое robots.txt.php.

Есть ли ещё какой-то способ сделать динамический robots.txt?
  • Вопрос задан
  • 1235 просмотров
Решения вопроса 1
@Deymos Автор вопроса
РИМ
Решил так:
rewrite ^\/robots\.txt /robots.php?path=$1 last;

в секции location / {
.
.
}

Таким образом скрипт robots.php будет работать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@q2digger
никого не трогаю, починяю примус
location /robots.txt {
	    add_header Content-Type text/plain;
	    return 200 "User-agent: *\nDisallow: /\n";
	}
Ответ написан
@BorisKorobkov
Web developer
location = /robots.txt {
        fastcgi_pass    unix:/run/php/php7.4-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include         fastcgi_params;
}
Ответ написан
Комментировать
@yanson
location = /robots.txt {
               try_files /robots.txt /robots.txt.php;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы