Estou tentando definir robots.txt
para todos os hosts virtuais no servidor http nginx. Consegui fazer isso no Apache colocando o seguinte em principal httpd.conf
:
<Location "/robots.txt">
SetHandler None
</Location>
Alias /robots.txt /var/www/html/robots.txt
Tentei fazer algo semelhante com o nginx adicionando as linhas abaixo (a) dentro do nginx.conf e (b) como include conf.d / robots.conf
location ^~ /robots.txt {
alias /var/www/html/robots.txt;
}
Eu tentei com '=' e até o coloquei em um dos hosts virtuais para testá-lo. Nada parecia funcionar.
O que estou perdendo aqui? Existe outra maneira de conseguir isso?
nginx
robots.txt
anup
fonte
fonte
Respostas:
a localização não pode ser usada dentro do
http
bloco. O nginx não possui aliases globais (ou seja, aliases que podem ser definidos para todos os vhosts). Salve suas definições globais em uma pasta e inclua-as.fonte
Você pode definir o conteúdo do arquivo robots.txt diretamente na configuração do nginx:
Também é possível adicionar o tipo de conteúdo correto:
fonte
location = /robots.txt
(observe o sinal de igual), caso contrário, outralocation ~* \.(txt|log)$
correspondência abaixo estava substituindo-a.conf.d/robots.conf
? Como é a diretiva "local", não é permitida aqui , o que é razoável, mas não é para um servidor específico. Não tenho certeza sobre a resposta para @ user79644. É inevitável adicionar isso a cada site?Existem outras regras definidas? Talvez o arquivo common.conf ou outro arquivo conf incluído esteja substituindo sua configuração. Um dos seguintes procedimentos definitivamente deve funcionar.
fonte
/robots.txt
arquivo para o alias. Não tive aroot
opção de trabalhar.Eu tive o mesmo problema com os desafios da Acme, mas o mesmo princípio também se aplica ao seu caso.
O que fiz para resolver esse problema foi mover todos os meus sites para uma porta não-padrão, escolhi
8081
e criei um servidor virtual que escuta na porta 80. Ele proxies todas as solicitações127.0.0.1:8081
, exceto as que são conhecidas. Isso funciona quase como um alias global, com um salto extra, mas isso não deve causar uma queda significativa no desempenho devido à natureza assíncrona do nginx.fonte