Este tutorial visa fornecer o código necessário para forçar HTTPS .htaccess, também conhecido como Certificação SSL que protege os usuários de um site criptografando a comunicação entre o usuário e o site WordPress. Agora que você sabe sobre o que é esse artigo, vamos ver porque ele é importante.
Se é importante usar o SSL, devo forçar HTTPS no .htaccess?
A resposta simples é sim! A resposta complexa é se seu site não é genérico, como a maioria, talvez seja sábio contratar um Programador WordPress para fazer esta alteração no arquivo .htacess de seu site. Há casos que forçar o SSL pode gerar erro 500 no site por criar um redirecionamento eterno. Se isso acontecer, basta apagar o código que inseriu no .htaccess e enviar novamente para o site (assegure-se de editar sempre e somente via (s)FTP e nunca pelo editor dentro do WordPress).
Quem pode querer usar esse código para forçar HTTPS pelo .htaccess?
- Quem quer forçar HTTPS (SSL) à navegação do seu site;
- Quem quer padronizar a URL do site para seudomínio.com.br (mesmo que digitem com www);
- Sites com servidor Apache;
- Administradores com acesso ao arquivo .htaccess do site via SFTP ou FTP;
- Sites WordPress.
Como forçar HTTPS .htaccess
Veja o código abaixo. Ele contempla a resposta que você procurava ao entrar nesta página:
Explicação do código acima:
Primeiro, por segurança, assegure-se de envolver o código em IfModule para não quebrar o site caso o módulo mod_rewrite seja removido do servidor. Esta é uma verificação de segurança. O código interno só será executado se o módulo mod_rewrite do Apache estiver ativo no servidor. Isso evita erros 500 (Internal Server Error) caso o módulo não esteja disponível. (linhas 1 e 9)
Informe que vai fazer alterações de rewrite, ligando-o (on). Ativa o motor de reescrita de URLs, que é a ferramenta que nos permite manipular os endereços. [linha 2]
Se o protocolo HTTPS não estiver ligado [linhas 4 e 7]
Envie para https://seudominio.com/ como forma de redirecionamento permanente. Esta é a regra de reescrita que faz a mágica acontecer.
^(.*)$: É uma expressão regular (regex) que captura a URL inteira que o visitante tentou acessar.https://%{HTTP_HOST}%{REQUEST_URI}: É o destino do redirecionamento.https://: Força o protocolo seguro.%{HTTP_HOST}: É a variável que contém o domínio do seu site (ex:www.seusite.com.br). Usar esta variável torna o código portátil, sem precisar “chumbar” o domínio no código.%{REQUEST_URI}: É a variável que contém o restante da URL após o domínio (ex:/pagina/contato/). Isso garante que o visitante seja levado para a página correta, só que na versão HTTPS.
[L,R=301]: São as “flags” que controlam o comportamento da regra.R=301: Especifica que este é um redirecionamento permanente (código 301). Isso é crucial para SEO, pois informa aos motores de busca que a versão HTTPS é a canônica e que eles devem transferir toda a relevância da versão HTTP para a nova.L: Significa “Last”. Indica ao Apache que esta é a última regra a ser processada nesta requisição. Isso previne que outras regras de reescrita interfiram e causem loops de redirecionamento ou outros comportamentos inesperados.
[linhas 5 e 8]
Local de Instalação do Site
Anteriormente, eu utilizava um código para sites instalado na pasta raiz e outro para sites instalados em uma pasta dentro da pasta raiz de outro site (é uma prática comum para quem quer manter vários sites dentro de um mesmo domínio).
No entanto, já não uso mais assim e esta seção abaixo pode ser ignorada. A deixo aqui, apenas para histórico.
Para Sites Comuns (instalados na pasta public_html ou www de seu servidor):
Se sua instalação foi feita do jeito mais comum, você pode apagar as linhas 3, 6,7 e 8 do código inicialmente apresentado acima. O resultado seria o seguinte código:
Para Sites Instalados em Diretórios:
Caso sua instalação do WordPress esteja dentro de um diretório, apague a tralha (jogo da velha – #) das linhas 7 e 8 e apague as linas 3, 4, 5 e 6. O resultado seria o seguinte código:
Atenção!
Assegure-se de alterar o termo “PASTA” no código acima para o nome da pasta em qual o site WordPress está instalado.
Conclusão:
Forçar HTTPS .htaccess é quase um default hoje em dia. Até para o SEO é melhor que o site use HTTPS. Editar diretamente o arquivo .htaccess é um procedimento relativamente fácil, mas com grande potencial para quebrar o site. Sempre faça back-ups antes de editar arquivos importantes.
seja o primeiro a comentar