Jestli by ti to vyhovovalo, tak se to pokusím popsat, ač se to popisuje blbě a lepší to je pochopit:
Kód: Vybrat vše
UseCanonicalName Off
VirtualDocumentRoot /disk2/http/%2+/%1
----- toto nastaví správně, kde to má hledat
Include /etc/apache2/domains.d/*.conf
----- vysvětlím později
<Directory "/disk2/http/*">
Order deny,allow
allow from all
Options -Indexes
IndexOptions FancyIndexing
php_admin_value open_basedir /disk2/http/:/tmp
</Directory>
---- vypnu indexování složek a pro bezpečnost (pokud by došlo k problému) tak nepustím ani za nic skript výš jak /disk2/http/ (další info dále)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^\./]+\.[^\./]+$
RewriteRule ^/(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
------- a tento kousek přesměruje, pokud není specifikovaná subdoména, na www.
A teď přichází další část:
Jelikož nejde nastavit open_basedir automaticky, jako v případě virtual document root, musí se na to ručně. Proto tam je ten řádek
Kód: Vybrat vše
Include /etc/apache2/domains.d/*.conf
V /etc/apache2/domains.d mám soubory ve formátu:
<domena>.<tld>.conf - pro každou doménu vlastní, můžu tudíž každému klientovi povolovat různé věci a naopak jiné zakazovat.
Ukázkový příklad jednoho .conf:
Kód: Vybrat vše
<Directory "/disk2/http/ondraster.cz/*">
php_admin_value open_basedir /disk2/http/ondraster.cz:/tmp
</Directory>
Pro doménu ondraster.cz mám nastavený open_basedir jen po root vlastního webu a /tmp (pro upload souborů)
V případě nejasností (

) se klidně ptej.