Lighttpd与FastCGIconfiguration运行ViewVC – 重写问题

目前,我正在与ViewVC的lighttpd的configuration挣扎。 configuration从Apache 2.2.x移植,它仍然在机器上运行,服务于WebDAV / SVN的东西,通过代理。

现在,我遇到的问题似乎与重写规则,我不知道我在这里错过了什么。 这里是我的configuration(略作简要说明):

var.hgwebfcgi = "/var/www/vcs/bin/hgweb.fcgi" var.viewvcfcgi = "/var/www/vcs/bin/wsgi/viewvc.fcgi" var.viewvcstatic = "/var/www/vcs/templates/docroot" var.vcs_errorlog = "/var/log/lighttpd/error.log" var.vcs_accesslog = "/var/log/lighttpd/access.log" $HTTP["host"] =~ "domain.tld" { $SERVER["socket"] == ":443" { protocol = "https://" ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/ssl/..." ssl.ca-file = "/etc/lighttpd/ssl/..." ssl.use-sslv2 = "disable" setenv.add-environment = ( "HTTPS" => "on" ) url.rewrite-once += ("^/mercurial$" => "/mercurial/" ) url.rewrite-once += ("^/$" => "/viewvc.fcgi" ) alias.url += ( "/viewvc-static" => var.viewvcstatic ) alias.url += ( "/robots.txt" => var.robots ) alias.url += ( "/favicon.ico" => var.favicon ) alias.url += ( "/mercurial" => var.hgwebfcgi ) alias.url += ( "/viewvc.fcgi" => var.viewvcfcgi ) $HTTP["url"] =~ "^/mercurial" { fastcgi.server += ( ".fcgi" => ( ( "bin-path" => var.hgwebfcgi, "socket" => "/tmp/hgwebdir.sock", "min-procs" => 1, "max-procs" => 5 ) ) ) } else $HTTP["url"] =~ "^/viewvc\.fcgi" { fastcgi.server += ( ".fcgi" => ( ( "bin-path" => var.viewvcfcgi, "socket" => "/tmp/viewvc.sock", "min-procs" => 1, "max-procs" => 5 ) ) ) } expire.url = ( "/viewvc-static" => "access plus 60 days" ) server.errorlog = var.vcs_errorlog accesslog.filename = var.vcs_accesslog } } 

现在,当我访问domain.tld ,我正确地看到了存储库的索引。 但是,当我查看每个存储库的链接(或点击它们)时,它的格式为https://domain.tld/viewvc.fcgi/reponame而不是预期的https://domain.tld/reponame

为了达到这个目的我需要改变/添加什么? 我是否必须以某种方式“滥用”索引文件机制? 目标是保持/mercurial别名function。

到目前为止,我已经尝试通过lighttpd文档再次从Packt中检查lighttpd书籍,但没有发现任何与问题相符的东西。