У меня есть некоторые домены, настроенные на моем сервере Ubuntu, который использует Lighttpd. У меня есть подстановочные домены, и я хочу, чтобы неиспользованные субдомены возвратились 404 вместо 200 и отображение регулярного домена. На эту проблему обратили мое внимание, потому что некоторые менее опытные поисковые системы (Bing, Baidu, mail.ru) индексируют мой сайт со странными субдоменами.
Я нашел свой тот же вопрос попросившим Apache здесь: Подстановочный знак DNS, VirtualHosts на apache2, 404 для неиспользованных субдоменов
Однако я ничего не нашел для Lighttpd.
Я хочу www.example.com/*
кому: 301
перенаправление к example.com/*
(уже установка)
Я хочу allUnsetSubdomains.example.com/*
возвратиться 404
так, чтобы поисковые системы и люди поняли, что это не существует.
Вот соответствующие данные из моего 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 #
Идеально я хотел бы смочь иметь универсальное правило, что все неиспользованные субдомены для всех доменов на сервере возвращаются 404
, во многом как www перенаправляют тот. Я честно не понимаю файлы конфигурации Lighttpd или regex очень хорошо.
Вы можете использовать небольшой "трюк", как показано на devsite.pl .
} else $HTTP["host"] =~ "^something.domain.com$" {
# ....
} else $HTTP["host"] =~ ".*" {
url.redirect-code=404
url.redirect = ( ".*" => "http://domain.com" )
}