如何配置 Lighttpd 以www.my-domain.com/static
从指定目录(例如)在指定 URL 地址(例如/var/www/my-domain/static
)上提供静态内容?
其余请求必须传递给 tomcat 容器。
实际上,我将所有请求都传递给了 tomcat(见下面的代码片段)。我无法让它工作。因此,如果不可能 - 对我来说,答案也是“否”。至少我会停止尝试。
$HTTP["host"] =~ "www.my-domain.com" {
proxy.server = ("" => (
"tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
)
)
)
}
答案1
您必须在静态文件上“禁用”代理(即仅在其他文件上启用它):
$HTTP["host"] =~ "www.my-domain.com" {
server.document-root = "/var/www/my-domain"
$HTTP["url"] !~ "^/static" {
proxy.server = ("" => ( "tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
) ) )
}
}
还可以尝试debug.log-request-handling = "enable"
检查 error.log,另请参阅http://redmine.lighttpd.net/projects/lighttpd/wiki/DebugVariables
答案2
您只需要一条新规则来处理静态内容:
$HTTP["host"] =~ "www.my-domain.com" {
$HTTP["url"] =~ "^/static" {
server.document-root = "/var/www/my-domain/static"
}
proxy.server = ("" => (
"tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
)
)
)
}
编辑:
你可以尝试别名:
alias.url = ( "/static" => "/var/www/my-domain/static/" )