Wer bei Apache 2.2 VirtualDocumentRoot in Verbindung mit suPHP nutzen muß/möchte, anschließend Fehlermeldungen wie diese bekommt:
[Fri Aug 29 18:24:06 2008] [error] [client 11.22.33.44] SoftException in Application.cpp:217: File "/var/www/domain1.tld/www/script.php" is not in document root of Vhost "/htdocs"
und schließlich stundenlang im Netz nach einer Lösung sucht, sollte trotz dass die Direktive VirtualDocumentRoot angegeben ist, noch zusätzlich DocumentRoot mit angeben. Zum Beispiel so:
<VirtualHost 11.22.33.44:80>
[...]
DocumentRoot /var/www/domain1.tld
VirtualDocumentRoot /var/www/domain1.tld/%-3+
[...]
</VirtualHost>
Hintergrund ist, daß VirtualDocumentRoot zwar das Wurzelverzeichnis angibt aber die eigentliche Servervariable DOCUMENT_ROOT nicht umbiegt, auf die sich die PHP-Scripte beziehen. suPHP weiß also im Anschluß nicht, daß sich das ausgeführte Script eigentlich im richtigen Pfad befindet.
Aug 29

