Você pode usar o módulo Reescrever do Apache.
Primeiro, verifique se ele está ativado no Ubuntu com o seguinte comando:
sudo a2enmod rewrite
Se você adicionar a seguinte configuração ao seu host virtual, qualquer subdomínio de domain.com
será redirecionado para um subdomínio de domain.es
.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$
RewriteRule ^/(.*)$ https://%1.domain.es/$1 [R=301,L]
Explicação:
-
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$
Essa condição examinará se o host corresponde ao padrão * .domain.com e armazenará o que foi correspondido com
(.+)
(ou seja, o subdomínio). Por exemplo, o padrãodomain.com
não corresponderá, enquanto os seguintes padrões corresponderão:-
dan.domain.com
-
www.dan.domain.com
-
-
RewriteRule ^/(.*)$ https://%1.domain.es/$1 [R=301,L]
Esta regra instrui o Apache a redirecionar para um subdomínio de
domain.es
.%1
contém o valor correspondente na diretivaRewriteCond
anterior. Enquanto$1
contém o valor correspondido nesta diretiva, você pode manter o caminho como está e não redirecionar para a raiz do domínio.
Exemplos:
-
dan.domain.com
redirecionará parahttps://dan.domain.es
-
www.dan.domain.com
redirecionará parahttps://www.dan.domain.es
-
dan.domain.com/example
redirecionará parahttps://dan.domain.es/example
-
www.dan.domain.com/example
redirecionará parahttps://www.dan.domain.es/example