
Estou usando o alias mod_vhost há algum tempo para não me permitir capturar a configuração do servidor padrão para quaisquer domínios que apontem para meus provedores de hospedagem.
Agora, eu também gostaria de ter a capacidade de um subdomínio em cada um deles (assets.domain.xyz, domain.xyz), mas não consigo, de forma alguma, ter ambos ativados.
<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>
O que for primeiro funciona e o último é ignorado.
Isso é possível? Eu gostaria de evitar duplicar isso toda vez que tiver um novo domínio apontando para mim e tentando evitar escrever scripts.
EDITAR Estou tentando fazer com que possa ter dois mapeamentos genéricos como abaixo:
domain.dev => /www/domain.dev/public
assets.domain.dev => /www/domain/assets
Se for mais simples ter apenas /public/assets então eu ficaria feliz com isso, pois isso só servirá conteúdo estático de qualquer maneira.
Responder1
A única maneira de fazer isso funcionar é adicionando um vhost não dinâmico para lidar com o subdomínio.
<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>
Isso servirá por enquanto, pelo menos não preciso repetir isso com frequência.