Apache: Usando a mesma diretiva de diretório para vários hosts virtuais

6

Aqui está um exemplo de entrada do VirtualHost

<VirtualHost *:80>
  ServerName domain.com
  ErrorLog logs/domain.com-error_log
  CustomLog logs/domain.com-access_log common
  DocumentRoot "/var/www/srs/web"
  DirectoryIndex index.php
  Alias /sf /usr/share/pear/data/symfony/web/sf
  <Directory "/usr/share/pear/data/symfony/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/var/www/srs/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Agora, tenho 6 outros domínios para configurar dessa maneira. Todos eles compartilharão um único DcoumentRoot, então a única coisa que preciso configurar que é exclusivo por domínio são os valores de ServerName e * Log. Como eu sou principalmente um copista quando se trata deste tipo de coisa, o que eu estou preparado para fazer é apenas copiar este bloco 6 vezes e mudar os bits que eu preciso.

Então, posso pelo menos extrair as entradas do Diretório e globalizá-las de alguma forma?

    
por Peter Bailey 07.07.2009 / 22:17

1 resposta

8

Puxe suas sub-rotinas do Diretório para fora de seus contêineres do VirtualHost e ele deve fazer o que quiser.

<VirtualHost *:80>
  ServerName domain.com
  ErrorLog logs/domain.com-error_log
  CustomLog logs/domain.com-access_log common
  DocumentRoot "/var/www/srs/web"
  DirectoryIndex index.php
  Alias /sf /usr/share/pear/data/symfony/web/sf
</VirtualHost>

<VirtualHost *:80>
  ServerName domain2.com
  ErrorLog logs/domain2.com-error_log
  CustomLog logs/domain2.com-access_log common
  DocumentRoot "/var/www/srs/web"
  DirectoryIndex index.php
  Alias /sf /usr/share/pear/data/symfony/web/sf
</VirtualHost>

<Directory "/usr/share/pear/data/symfony/web/sf">
  AllowOverride All
  Allow from All
</Directory>
<Directory "/var/www/srs/web">
  AllowOverride All
  Allow from All
</Directory>
    
por 07.07.2009 / 22:26