J'ai le fichier de configuration suivant sur ma machine Debian :
<VirtualHost *:80>
ServerAdmin me@domain.tld
VirtualDocumentRoot /var/workspace/www/%2_%3/%1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/workspace/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Ce qui est génial pour l'automatisation - je crée simplement un répertoire dans un chemin spécifique et le domaine commence à fonctionner.
Mais parfois j'ai besoin de lancer des applications, qui ont des docroots ailleurs (typiquement www dir ou autre), comment puis-je spécifier ces VirtualHosts et continuer à travailler avec les anciens VirtualHosts automatiques ?
Lorsque j'ajoute, par exemple, ceci :
<VirtualHost *:80>
ServerName www.phabricator.com.local
DocumentRoot /var/workspace/www/phabricator_com/www/webroot
RewriteEngine on
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [L,QSA]
SetEnv PHABRICATOR_ENV custom/socialbakers
</VirtualHost>
Il achemine toutes les demandes sur /var/workspace/www/phabricator_com/www/webroot
et ignore les autres vhosts (mentionnés ci-dessus).
Pourquoi ?