Conditional Request Headers

Module: mod_setenv


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


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" 

Adds a header to the HTTP response sent to the client:

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

Adds a header to the HTTP request that was received from the client ::

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