Redirecionamento do Apache Virtual Host do subdomínio https para o subdiretório

Redirecionamento do Apache Virtual Host do subdomínio https para o subdiretório

Como faço para redirecionar solicitações que chegam ahttps://blog.exemplo.comparahttps://example.com/blog?

Lendo os documentos do Apache sobre quando não usar o mod rewrite, tentei um redirecionamento simples, por exemplo

Redirect https://blog.example.com https://example.com/blog

Mas quando eu visitohttps://blog.exemplo.com, isso não me redireciona. Diz apenas erro com um certificado. Existe alguma possibilidade de redirecionar o subdomínio HTTPS? Está funcionando bem com HTTP quando uso algo assim:

<VirtualHost *:80>
    ServerName blog.example.com
    Redirect / https://example.com/blog/
</VirtualHost>

Condições como estas:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$
RewriteRule ^/(.*)$ https://example.com/%1/$1 [R=301,L]

Funciona apenas ao usar HTTP e não HTTPS...

Obrigado.

Responder1

Sua configuração se aplica a VirtualHost *:80, em outras palavras, à httpporta. A porta httpsé 443. Encontre essa configuração e aplique o redirecionamento lá também.

Responder2

Acho que você pode usar mod_alias para isso.

No seu blog.example.com Virtualhost:

RedirectMatch (.*)$ / https://example.com/blog/$1

https://httpd.apache.org/docs/2.4/mod/mod_alias.html

Responder3

Se o navegador sinalizar um erro de certificado, isso interromperá a transaçãoanteso redirecionamento é acionado. Se você não usa HSTS, poderá confirmar clicando no erro e o redirecionamento continuará normalmente. O erro em si pode ocorrer por vários motivos, e o navegador informará qual se aplica, mas o mais provável é que seu certificado seja válido apenas example.come não tenha uma entrada SAN para blog.example.com(ou para o curinga *.example.com). Para corrigir isso, você pode regenerar o certificado para incluir esse nome adicional ou pode obter um certificado extra e ajustar a configuração do servidor para servir este para o subdomínio - em ambos os casos, o provedor de certificado (CA) escolhido deve ser capaz para ajudá-lo.

informação relacionada