让Lighttpd为未使用的子域返回404?

我在使用Lighttpd的Ubuntu服务器上设置了一些域。 我有通配符域,我希望未使用的子域返回404而不是200,并显示常规域。 这个问题引起了我的注意,因为一些不太经验的search引擎(Bing,百度,mail.ru)索引我的网站与奇怪的子域名。

我在这里发现了同样的问题: apache2上的通配符DNS,VirtualHosts,未使用的子域404

但是我还没有find任何Lighttpd。

我希望www.example.com/*能够301redirect到example.com/* (已经设置)

我希望allUnsetSubdomains.example.com/*返回404以便search引擎和人们了解它不存在。

以下是我的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 ,就像wwwredirect一样。 我真的不明白Lighttpdconfiguration文件或正则expression式很好。

你可以使用devsite.pl中显示的一些小技巧。

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