1 votos

Robots.txt dinámicos basados en el nombre de host

¿Existe una manera de intercambiar un archivo robots.txt en nginx basado en el nombre de host? Actualmente tengo www.domain.com y backup.domain.com apuntando al mismo servidor nginx, pero no quiero que Google indexe backup.domain.com.

2voto

Eltariel Puntos 895

Dos opciones:

  1. Un if declaración basada en $http_host que reescribe a uno de los dos archivos de texto en el backend.
  2. Que se reescriba el robots.txt en un script (robots.php, etc.) que responda en consecuencia.

1voto

Aaron Johnson Puntos 52

Hay una forma adecuada con mapa

map $http_host $examplecom_robotstxt {
  hostnames;
  default robotstxt/development.txt;
  example.com robotstxt/production.txt;
}

server {
  ...
  location = /robots.txt {
    rewrite .* /$examplecom_robotstxt break;
  }
  ...
}

Tenga en cuenta que la definición del mapa debe estar fuera de la definición del servidor.

0voto

Noodles Puntos 589

Como referencia, esta es la sintaxis que he utilizado:

if ($http_host != "www.domain.com") {
    rewrite ^/robots.txt /robots-backup.txt last;
}

Esto fue dentro del bloque de ubicación

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X