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" )
}
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.
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" )
}