Conditional Request Headers

Module: mod_setenv

Description

The setenv module allows influencing the environment external applications are spawned in and the response headers the server sends to the clients.

Automatic Decompression

If you have a lot text-files compressed with gzip on disk and want that the browser is decompressing them on retrival you can use setenv to inject the Content-Encoding header:


  $HTTP["url"] =~ "(README|ChangeLog|\.txt)\.gz$" {
    setenv.add-response-header  = ( "Content-Encoding" => "gzip")
    mimetype.assign = ("" => "text/plain" )
  }

Options

setenv.add-environment
Adds a value to the process environment (aka environment variables) that is passed to the external applications:


    setenv.add-environment = ( 
      "TRAC_ENV" => "lighttpd",
      "RAILS_ENV" => "production" 
    )

setenv.add-response-header
Adds a header to the HTTP response sent to the client:


    setenv.add-response-header = (
      "Content-Encoding" => "gzip" 
    )

setenv.add-request-header
Adds a header to the HTTP request that was received from the client ::


    setenv.add-request-header = (
      "X-Proxy" => server.name
    )