Recentemente, criei um novo site rodando no Wordpress, que está funcionando bem. Como eu queria ter um certificado SSL para o site, pensei em usar o Let's Encrypt, pois tenho ouvido falar muito bem dele.
Bem, tenho que concordar que demorou 30 segundos para fazer o SSL funcionar no meu domínio, mas há um pequeno problema.
Vamos criptografar definiu as seguintes regras:
http://domain.com -> https://domain.com (falha)
http://www.domain.com -> https://www.domain.com (funciona)
O certificado é apenas para www.domain.com, o que é irritante. No passado, todos os certificados SSL que eu comprava incluíam domínio.com e www.domínio.com no certificado SSL. Não tenho certeza se fiz algo errado ao obter o certificado Let's Encrypt, mas é assim que funciona.
Tudo o que preciso fazer é mudar as coisas para que http://domain.com redirecione para https://www.domain.com .
Mas como sou novo no Apache, não tenho ideia de como fazer isso. Eu tenho a seguinte regra de redirecionamento em meu arquivo .htaccess, mas não parece ajudar, pois o Apache parece redirecionar antes que a solicitação atinja a regra de reescrita no arquivo .htaccess. Aqui está a regra:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Portanto, estou bastante preso a esse problema específico. O site foi redirecionado corretamente de domain.com para www.domain.com antes de eu adicionar o certificado SSL, então parece ser algo que a instalação automatizada do Let's Encrypt fez e não consigo encontrá-lo.
Esta é a regra de reescrita que o Let's Encrypt adicionou ao meu arquivo de configuração do Apache:
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
Acho que tem algo a ver com a linha acima, mas não sei o quê.
Qualquer ajuda seria apreciada.
Você precisa criar um VirtualHost separado para um domínio não www e definir o redirecionamento dele assim:
<VirtualHost *:80> ServerName domain.com Redirect 301 / https://www.domain.com </VirtualHost>
Basicamente, adicionar o código acima ao seu httpd.conf deve resolver seu problema. Embora você queira consultar a documentação do sistema operacional sobre como adicionar hosts virtuais ao apache ...