我在使用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" ) }