Estoy tratando de configurar robots.txt
todos los hosts virtuales en el servidor http nginx. Pude hacerlo en Apache poniendo lo siguiente en main httpd.conf
:
<Location "/robots.txt">
SetHandler None
</Location>
Alias /robots.txt /var/www/html/robots.txt
Intenté hacer algo similar con nginx agregando las líneas dadas a continuación (a) dentro de nginx.conf y (b) como include conf.d / robots.conf
location ^~ /robots.txt {
alias /var/www/html/robots.txt;
}
He intentado con '=' e incluso lo puse en uno de los hosts virtuales para probarlo. Nada parecía funcionar.
¿Que me estoy perdiendo aqui? ¿Hay otra forma de lograr esto?
nginx
robots.txt
anup
fuente
fuente
Respuestas:
la ubicación no se puede usar dentro del
http
bloque. nginx no tiene alias globales (es decir, alias que se pueden definir para todos los vhosts). Guarde sus definiciones globales en una carpeta e inclúyalas.fuente
Puede configurar el contenido del archivo robots.txt directamente en la configuración de nginx:
También es posible agregar el tipo de contenido correcto:
fuente
location = /robots.txt
(Tenga en cuenta el signo igual) de lo contrario, otralocation ~* \.(txt|log)$
coincidencia debajo de la anulaba.conf.d/robots.conf
? Como es , la directiva de "ubicación" no está permitida aquí , lo cual es razonable, pero no es para un servidor en particular. No estoy seguro acerca de @ user79644 respuesta a esto. ¿Es inevitable agregar esto a cada sitio?¿Hay otras reglas definidas? Tal vez common.conf u otro archivo conf incluido que está anulando su configuración. Uno de los siguientes definitivamente debería funcionar.
fuente
/robots.txt
archivo para alias. No tuve laroot
opción de trabajar.Tuve el mismo problema con los desafíos de acme, pero el mismo principio también se aplica a su caso.
Lo que hice para resolver este problema fue mover todos mis sitios a un puerto no estándar, elegí
8081
y creé un servidor virtual que escuchaba en el puerto 80. Proxies todas las solicitudes127.0.0.1:8081
, excepto las que son bien conocidas. Esto actúa casi como un alias global, con un salto adicional, pero eso no debería causar una caída significativa en el rendimiento debido a la naturaleza asíncrona de nginx.fuente