It's currently only half working -
www.thewilliewagtails.com
andthewilliewagtails.com
are returning a default page, andthewilliewagtails.band/
is not redirecting.
Não consigo ver por que thewilliewagtails.com
não estaria funcionando. No entanto, você tem um erro de digitação no contêiner <VirtualHost *:80>
, que corresponde a wwww
, não www
no ServerAlias
, então isso simplesmente nunca corresponderá:
ServerAlias wwww.thewilliewagtails.com
E thewilliewagtails.band
é omitido do seu redirecionamento HTTP para HTTPS ( <VirtualHost *:80>
) (diretiva RewriteCond
ausente) - portanto, sim, isso não será redirecionado na configuração atual. Em vez de verificar todos os possíveis nomes de host, não é necessário, você só precisa verificar se não é o nome do host canônico (veja abaixo).
Eu concordo completamente com a resposta do @ roaima. No entanto, você está a meio caminho com sua configuração atual e suas diretivas podem ser muito simplificadas.
Como sua porta canônica é 443, você precisa apenas de um mod_alias Redirect
incondicional nos contêineres <VirtualHost *:80>
(o mod_rewrite não é necessário) para criar efetivamente o redirecionamento HTTP para HTTPS. Então, por exemplo, o seguinte bloco mod_rewrite:
RewriteEngine on #Added automatically by let's encrypt: RewriteCond %{SERVER_NAME} =www.thewilliewagtails.com [OR] RewriteCond %{SERVER_NAME} =thewilliewagtails.com [OR] RewriteCond %{SERVER_NAME} =www.thewilliewagtails.band [OR] RewriteCond %{SERVER_NAME} =thewilliewagtails.com.au [OR] RewriteCond %{SERVER_NAME} =www.thewilliewagtails.com.au RewriteRule ^ https://thewilliewagtails.band%{REQUEST_URI} [END,NE,R=permanent]
Pode ser imediatamente substituído por um simples / incondicional mod_alias Redirect
:
Redirect 301 / https://thewilliewagtails.band/
E o redirecionamento canônico do mod_rewrite correspondente no <VirtualHost *:443>
pode ser muito simplificado. Em vez de verificar todos os nomes de host que podem ser, você precisa apenas verificar se não é o nome do host canônico. Por exemplo, o seguinte:
RewriteEngine on RewriteCond %{SERVER_NAME} =www.thewilliewagtails.com [OR] RewriteCond %{SERVER_NAME} =thewilliewagtails.com [OR] RewriteCond %{SERVER_NAME} =www.thewilliewagtails.com.au [OR] RewriteCond %{SERVER_NAME} =thewilliewagtails.com.au [OR] RewriteCond %{SERVER_NAME} =www.thewilliewagtails.band RewriteRule ^ https://thewilliewagtails.band%{REQUEST_URI} [END,NE,R=permanent]
Pode ser imediatamente substituído pelo mais simples:
RewriteCond %{HTTP_HOST} !^thewilliewagtails\.band$
RewriteRule ^ https://thewilliewagtails.band%{REQUEST_URI} [R=permanent,L]
Agora há muito menos para lembrar / errar.
No entanto, provavelmente continuaria criando um contêiner vHost separado para os nomes de host 443 não-canônicos, como sugere @roaima. Você pode então usar um mod_alias Redirect
incondicional e se livrar completamente do mod_rewrite.