Faça o Lighttpd retornar 404 para subdomínios não utilizados?

3

Eu tenho alguns domínios configurados no meu servidor Ubuntu que usa o Lighttpd. Eu tenho domínios curinga e quero que os subdomínios não utilizados retornem 404 em vez de 200 e exibam o domínio regular. Esse problema foi trazido à minha atenção porque alguns mecanismos de pesquisa menos experientes (Bing, Baidu, mail.ru) indexam meu site com subdomínios estranhos.

Eu encontrei a mesma pergunta que fiz para o Apache aqui: Wildcard DNS, VirtualHosts no apache2, 404 para subdomínios não usados

No entanto, não encontrei nada para o Lighttpd.

Eu quero que www.example.com/* to 301 redirecione para example.com/* (já configurado)

Eu quero que allUnsetSubdomains.example.com/* retorne 404 para que os mecanismos de pesquisa e as pessoas entendam que ele não existe.

Aqui estão os dados relevantes do meu arquivo vhost.conf :

$HTTP["host"] =~ "^www\.(.*)$" {
  url.redirect = ( "^/(.*)" => "http://%1/$1" )
}

# lots of other domains #

$HTTP["host"] =~ "example.com$" {
server.document-root = "/var/www/example.com"
server.errorlog = "/var/log/lighttpd/example.com-error.log"
accesslog.filename = "/var/log/lighttpd/example.com-access.log"
server.error-handler-404 = "/index.php"
}

# lots more domains #

Idealmente, gostaria de poder ter uma regra universal de que todos os subdomínios não utilizados de todos os domínios no servidor retornem 404 , muito parecido com o redirecionado www. Eu sinceramente não entendo muito bem os arquivos de configuração do Lighttpd ou regex.

    
por cycron 01.01.2015 / 00:42

1 resposta

2

Você pode usar um pequeno "truque", como mostrado em devsite.pl .

} else $HTTP["host"] =~ "^something.domain.com$" {
    # ....
} else $HTTP["host"] =~ ".*" {
    url.redirect-code=404
    url.redirect = ( ".*" => "http://domain.com" )
}
    
por 22.03.2015 / 15:52