代码之家  ›  专栏  ›  技术社区  ›  Joe

有没有可能用lighttpd拦截一个不存在的文件的请求?

  •  1
  • Joe  · 技术社区  · 14 年前

    可以配置lighttpd吗 因此,如果文件存在,则对文件的请求会成功,但如果文件不存在,则会处理并重定向到CGI脚本?

    我试图实现的是在磁盘上有一组由脚本生成并直接提供服务的图像文件。在请求时,如果文件不存在,脚本将生成图像并将其保存到磁盘(供将来请求使用),然后直接为图像提供服务或重定向回相同的URL,这一次将成功。我基本上是在磁盘上缓存生成的输出。

    我目前有一个原型,在这个原型中,脚本总是处理请求,读取和回送文件(如果存在的话),但是我宁愿节省开销,如果可能的话,让lighttpd直接为它服务。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Kyle Butt    14 年前

    你可以拥有两个世界中最好的。如果你给文件一个

    X-Sendfile: path to file
    

    见: http://redmine.lighttpd.net/wiki/1/X-LIGHTTPD-send-file . 文档页面上有一个PHP示例。

        2
  •  1
  •   Perry    14 年前

    您可以设置:

    server.error-handler-404 
    

    配置脚本的选项,该脚本将执行您想要的操作。

    看见 http://redmine.lighttpd.net/wiki/1/Server.error-handler-404Details