Project

General

Profile

Actions

Mod evhost » History » Revision 17

« Previous | Revision 17/23 (diff) | Next »
hoffie, 2008-10-18 21:46
revert removal of all page contents


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/

General Example
----------------

::

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

Updated by hoffie about 16 years ago · 17 revisions