Mod cgi » History » Revision 10
Revision 9 (moo, 2007-07-07 15:30) → Revision 10/32 (Anonymous, 2008-05-03 05:47)
[[TracNav(DocsToc)]] {{{ #!rst === CGI === --------------- Module: mod_cgi --------------- .. meta:: :keywords: lighttpd, cgi .. contents:: Table of Contents Description =========== CGI programs allow you to enhance the functionality of the server in a very straight-forward straight and simple way. way.. Options ======= cgi.assign file-extensions that are handled by a CGI program e.g.: :: cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" ) For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini. To get the old cgi-bin behavior of apache: :: #Note: make sure that mod_alias is loaded if you use this: alias.url += ( "/cgi-bin" => server_root + "/cgi-bin" ) $HTTP["url"] =~ "^/cgi-bin" { cgi.assign = ( "" => "" ) } cgi.execute-all In 1.5.0 and later you can use: :: $PHYSICAL["existing-path"] =~ "^/var/www/myvhost/cgi-bin/" { cgi.execute-all = "enable" } which does the same thing as cgi.assign = ("" => "") but is more obvious to use. Examples ======== To setup an executable which can run on its own (e.g. binaries, scripts with a shebang line) you just don't specify a handler for the extension: :: cgi.assign = ( ".sh" => "" ) If the file has no extension keep in mind that lighttpd matches not the extension itself but the right part of the URL: :: cgi.assign = ( "/testfile" => "" ) }}}