Lighttpd:将任何请求重定向到 index.html

Lighttpd:将任何请求重定向到 index.html

我正在尝试使用以下方式向 index.html 发送任何请求lighttpd为了防止 404,但我不够聪明,因为要么重定向匹配自身,要么对于子目录的调用,虽然 index.html 得到了服务,但它不是从文档根目录提供的,所以所有路径都关闭,因此没有显示任何图像。

$HTTP["host"] == "my.example.com" {
    server.document-root = "/var/www/my/html/"
#       url.rewrite-once = ( "^/([^\./]+)/?([^\./]+)?(/|\.html)?$" => "/index.php?a=$1&b=$2" )
#       url.rewrite-once = ( "^.+?" => "/" )
#       url.redirect = ( ".*" => "http://my.example.com/index.html" ) # too many redirects
}

答案1

谷歌搜索了一下,你得出的结论是:

server.error-handler-404   = "/index.html"

不,我不想处理错误。我希望所有请求都转到 /index.html

您说您想防止出现 404,这将实现这一点。当错误被处理时,它默认返回 200 状态代码。

这对于 my.example.com/some/thing.ext 也失败了,因为页面是从 /some/ 发送的,所以所有路径都关闭了。

不,它不会失败 - 它会将所有未命中重定向到/index.html。也就是说,尝试:

url.rewrite-once = ( "^/(.*)" => "/index.html" )

这样就可以将任何 URL 重写为/index.html

相关内容