Redireccionar o VirtualHost do Apache, mudar apenas o domínio

Como posso criar VirtualHost para redireccionar todas as ligações mudando apenas o seu domínio, incluindo subdomínios e parâmetros:

exampleA.com -> exampleB.com
test.exampleA.com -> test.exampleB.com
test1234.exampleA.com/url/test.html?param=222 -> test1234.exampleB.com/url/test.html?param=222
Quero redireccionar todos os subdomínios como*, e deve ser permanente 301

Agora tenho um simples redireccionamento 301

<VirtualHost *:80 *:443>
        ServerName exampleA.com
        ServerAlias *.exampleA.com

        RewriteEngine On
        Redirect 301 / https://exampleB.com
</VirtualHost>
Author: Michał Jurczuk, 2018-08-08

2 answers

Eu nunca fiz algo assim, mas tente a opção redirecionar no seu arquivo virtualhost. Primeiro activar a reescrita
sudo a2enmod rewrite

Então no seu ficheiro virtualhost

RewriteEngine on
RewriteCond %{SERVER_NAME} =exampleA.com [OR]
RewriteCond %{SERVER_NAME} =www.exampleA.com
RewriteRule ^ https://exampleB%{REQUEST_URI} [END,NE,R=permanent]

Leia mais sobre isto aqui: https://httpd.apache.org/docs/2.4/rewrite/remapping.html

Leva o domínio original e reescreve para outro. No apache mais velho lembro-me que é mais ou menos assim:
<VirtualHost *:80>
  ServerName www.domain1.com
  Redirect / http://www.domain2.com
</VirtualHost>
 1
Author: Shnigi, 2018-08-08 10:13:34

Encontrei a solução:

<VirtualHost *:80 *:443>
        ServerName exampleA.com
        ServerAlias *.exampleA.com

        RewriteEngine On
        RewriteCond %{HTTP_HOST} (.+\.)?exampleA\.com$ [NC]
        RewriteRule (.*) https://%1exampleB.com$1 [R=301,L]
</VirtualHost>
 1
Author: Michał Jurczuk, 2018-08-08 11:09:40