我正在尝试configurationlighttpd,以便:
所以基本上,domain1和domain2应该使用相同的configuration,除非通过以/ admin开头的URL访问domain1
我尝试了很多变化,包括这一个:
$HTTP["host"] =~ "domain1.org" { $HTTP["url"] =~ "^/admin" { // config1 alias.url = ("/media/admin" => "/usr/share...", "/static" => "/var/www/...") url.rewrite-once = ( "^(/media/admin.*)$" => "$1", "^(/static.*)$" => "$1", "^/favicon\.ico$" => "/media/favicon.ico", "^(/.*)$" => "/application.fcgi$1", ) server.document-root="/var/www/application" fastcgi.debug = 1 fastcgi.server = ( "/application.fcgi" => ( "main" => ( "socket" => "/var/www/application/application.sock", "check-local" => "disable", ) ), ) } else $HTTP["url"] !~ "^/admin" { // config2 } $HTTP["host"] !~ "domain1.org" { // config2 }
但是无论如何,访问domain1.org/admin的结果都是404。
有什么我失踪?
请参阅http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRewrite :
注意:url重写在$ HTTP [“url”]条件下不起作用。
此外,重写必须始终使用绝对path,所以你应该用/ admin前缀匹配,目标和fastcgi.server匹配。