Eu tenho um site (domain.com) e gostaria de redirecionar todos os meus domínios secundários (domain2.com, domain3.com) e todos os subdomínios desses domínios (* .domain.com, * .domain2.com ...) para o domínio principal, www.domain.com (porque eu quero que o último seja o único URL a ter acesso ao site).
Para este propósito, eu criei um Host Virtual Apache para pegar todas essas possibilidades e redirecioná-las (depois de ter configurado meu DNS, isso é óbvio). Eu coloquei essa configuração em um arquivo chamado "999-catchall" na pasta "sites-enabled" do Apache. NB: Eu uso este nome para ter certeza de que será o último vhost verificado, porque eu também tenho o meu padrão vhost (000-default para www.domain.com) e um vhost para meu webmail (001-webmail para webmail.domain.com).
Aqui está o conteúdo deste arquivo "999-catchall":
<VirtualHost *:80>
# catch...
ServerName domain.com
ServerAlias domain2.com domain3.com *.domain.com *.domain2.com *.domain3.com
# ...and redirect
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
</VirtualHost>
Essa configuração funciona para domain.com, domain2.com, * .domain2.com, domain3.com e * .domain3.com , mas não para * .domain.com .
Exemplo: Se eu digitar blabla.domain2.com, eu serei redirecionado para www.domain.com, mas se eu digitar blaba.domain.com, não sou (apenas tenho um erro "Servidor não encontrado"). / p>
O meu método está correto? Você vê onde está o meu erro?
EDIT: Meu erro, meu servidor DNS não foi configurado corretamente para * .domain.com. Então, essa configuração funciona, se puder ajudar alguém que queira fazer a mesma coisa.