Mod evhost » History » Revision 14
Revision 13 (Anonymous, 2008-09-04 16:24) → Revision 14/23 (Anonymous, 2008-09-04 16:27)
[[TracNav(DocsToc)]] {{{ #!rst ======================== Enhanced Virtual-Hosting ======================== ------------------ Module: mod_evhost ------------------ .. meta:: :keywords: lighttpd, virtual hosting .. contents:: Table of Contents Description =========== mod_evhost builds the document-root based on a pattern which contains wildcards. Those wildcards can represent parts of the submitted hostname :: %% => % sign %0 => domain name + tld %1 => tld %2 => domain name without tld %3 => subdomain 1 name %4 => subdomain 2 name evhost.path-pattern = "/home/www/servers/%3/pages/" Options ======= evhost.path-pattern pattern with wildcards to be replace to build a documentroot Samples ======= User vhosts ------------ :: $HTTP["host"] =~ "users\.example\.org" { evhost.path-pattern = "/home/%4/public_html/" } http://johndoe.users.example.org/ => /home/johndoe/public_html/ :: server.document-root = "/home/user/sites/" evhost.path-pattern = "/home/user/sites/%0/site/" If example.org is requested, and /home/user/sites/example.org/site/ is found, that path becomes the docroot. If example.net is requested but is not found in ''/home/user/sites/ then the docroot remains as /home/user/sites/ This is actually a bad example. server.document-root should never point to the directory with your evhost subdirs. Let us assume we got foo.example.com and bar.example.com pointing to the server. for foo.example.com we have /home/user/sites/foo.example.com/site but for bar no directory exists. For foo.example.com we configure auth via: :: $HTTP["host"] == "foo.example.com" { auth.require = ( "/" => ... ) } If we now access http://bar.example.com/foo.example.com/site/ we bypass the configured auth in the vhost block. A better example would be :: server.document-root = "/home/user/sites/default/site" evhost.path-pattern = "/home/user/sites/%0/site/"