Hallo!

Ich verwende statt mod_vhost einfach nur mod_rewrite mit einer rewrite map:

<VirtualHost 0.0.0.0>
Servername vhosts.domain.de
UseCanonicalName Off
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" 
\"%{User-Agent}i\"" vcommon
CustomLog /var/log/apache/vhosts-access vcommon

RewriteEngine On
RewriteLogLevel 1
RewriteLog /var/log/apache/rewrite_log

RewriteMap  lowercase  int:tolower
RewriteMap  vhost      txt:/etc/admin/domainfile
RewriteCond  %{REQUEST_URI}             ^/cgi-bin/$
RewriteRule  ^(/.*)$                    - [F,L]

RewriteCond  %{REQUEST_URI}             !^/cgi-bin/
RewriteCond  %{REQUEST_URI}             !^/cgi-sys/
RewriteCond  %{REQUEST_URI}             !^/icons/
RewriteCond  %{REQUEST_URI}             !^(/.*)(.cgi|.pl|.wphp)$
RewriteCond  %{REQUEST_URI}               !^/errordocs/
RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$
RewriteCond  %{SERVER_NAME}               ([a-z0-9-]+\.[a-z0-9-]+)$
RewriteCond  ${vhost:%1}                  ^(/.*)$
RewriteRule  ^(/.*)$                      %1/%{SERVER_NAME}$1 [L]

ServerAdmin [EMAIL PROTECTED]
ErrorLog /var/log/apache/vhosts-error
</VirtualHost>

In der Domain Map steht drin, welche Domain in welches Verzeichnis gehen soll:

www.domain1.de  /home/user1/domain1
www.domain2.de  /home/user1/domain2
www.domain3.de  /home/user1/domain3


Das generierte Logfile ist im Prinzip ein ganz normales Combined Log, bei dem 
der jeweilige Host als erster Parameter vorangestellt wird - l�sst sich also 
per Skript sehr leicht splitten und in die Benutzerverzeichnisse verteilen.

Umgebungsvariablen wie z.B. DocumentRoot etc. lassen sich mit mod_rewrite 
problemlos setzen.

Viele Gr��e,
Christof Egner
--
_______________________________________________________________
 Configo Systems GmbH - Jahnstr. 62 - 64285 Darmstadt
 Tel 06151-39656-0 Fax 06151-39656-49 http://www.configo.de
 

Antwort per Email an