¿Puedes tener varios vhosts definidos mientras usas mod_vhost_alias?

¿Puedes tener varios vhosts definidos mientras usas mod_vhost_alias?

He estado usando el alias mod_vhost por un tiempo para no permitirme capturar la configuración de mi servidor predeterminado para ningún dominio que apunte a mis proveedores de hosting.

Ahora también me gustaría tener la capacidad de un subdominio en cada uno de estos (assets.domain.xyz, domain.xyz), pero parece que no puedo tener ambos habilitados.

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot "/www/%1.0.%-1.0/public"
    ServerName %1.0.%-1.0
    ServerAlias %1.0.%-1.0.*.xip.io

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot "/www/%2.0.%-1.0/assets"
    ServerName assets.%2.0.%-1.0
    ServerAlias assets.%2.0.%-1.0.*.xip.io
</VirtualHost>

Cualquiera que sea el primero funciona y el último se omite.

¿Es esto siquiera posible? Me gustaría evitar tener que duplicar esto cada vez que tengo un nuevo dominio apuntándome y tratando de evitar escribir scripts.

EDITAR Estoy tratando de obtenerlo para poder tener dos asignaciones genéricas como las siguientes:

domain.dev        => /www/domain.dev/public
assets.domain.dev => /www/domain/assets

Si es más sencillo tener /public/assets, entonces estaría contento con eso, ya que de todos modos solo servirá contenido estático.

Respuesta1

La única forma de hacerlo funcionar es agregando un vhost no dinámico para manejar el subdominio.

    <VirtualHost *:80>
        ServerAlias %-2.0.%-1.0
        VirtualDocumentRoot /www/%-2.0.%-1.0/public

        <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>

    <VirtualHost *:80>
        ServerAlias assets.*
        VirtualDocumentRoot /www/%-2.0.%-1.0/assets

        <Directory />
            Order deny,allow
            Allow from all
            AllowOverride None
            SetHandler default-handler
            php_flag engine Off
        </Directory>
    </VirtualHost>

Esto servirá por ahora ya que al menos no tengo que repetirlo con tanta frecuencia.

información relacionada