使用来自不同文档根目录的非标准索引文件为应用程序提供服务

使用来自不同文档根目录的非标准索引文件为应用程序提供服务

我正在尝试配置 lighttpd 来为一个应用程序(我们称之为“foo”)提供服务,该应用程序使用非标准索引页(例如“ bar.html”)作为其起始页,该起始页的文档根目录与其余页面不同。

以下是我所拥有的:

$HTTP["host"] =~ "^www.example.com$" {
    server.document-root = "/usr/local/www/default"

    url.rewrite-once = (  "^/foo/$" => "/baz/bar.html" )
    alias.url += ( "/foo/" => "/usr/local/www/baz/" )
}

这个想法是在内部,当调用URL 时lighttpd提供服务。/usr/local/www/baz/bar.htmlhttp://example.com/foo/

但不知何故,这不起作用。我不能 100% 确定出了什么问题,但我注意到一件事是(有时?)我在 URL 中看到一个尾部斜杠(类似于http://example.com/foo/bar.html/)。

它似乎在做一些事情(实际上与我想做的事情相差不远),但并不完全是我想要做的。


更新:来自https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModAlias我了解到左侧不应使用尾部斜线alias.url(但右侧应该使用)。所以我尝试了

alias.url += ( "/foo" => "/usr/local/www/baz/" )

无济于事。

答案1

在与 URL 匹配之前,将 URL 更改为“/baz/bar.html”。尝试以下操作url.rewritealias.url

$HTTP["host"] =~ "^www.example.com$" {
    server.document-root = "/usr/local/www/default"

    url.rewrite-once = (  "^/foo/$" => "/baz/bar.html" )
    alias.url += ( "/baz/" => "/usr/local/www/baz/" )
}

相关内容