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 alot 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 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
)