我在使用 Lighttpd 的 Ubuntu 服务器上设置了一些域。我有通配符域,我希望未使用的子域返回 404 而不是 200 并显示常规域。这个问题引起了我的注意,因为一些经验不足的搜索引擎(Bing、百度、mail.ru)正在用奇怪的子域索引我的网站。
我在这里发现了对 Apache 提出的同样的问题:Wildcard DNS, VirtualHosts on apache2, 404 forused subdomains
但是我还没有找到任何有关 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 #
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够有一个通用规则,即服务器上所有域的所有未使用的子域都返回404 …