Segurança e SSL

Forçar o acesso seguro através de HTTPS

Revisto a 2 min de leitura ssl https htaccess

Antes de redirecionar, verifique se o domínio e as variantes necessárias apresentam um certificado válido através de https://. Ativar o redirecionamento sem uma cobertura correta pode deixar o site inacessível ou mostrar um aviso de segurança.

Quando estiver disponível, utilize cPanel > Domínios > Force HTTPS Redirect. O cPanel aplicará o redirecionamento ao domínio selecionado sem ter de manter uma regra manual.

Para um site estático também pode adicionar estas regras no início do ficheiro .htaccess. Substitua example.com pelo nome canónico real. Não coloque esta variante com destino fixo num .htaccess partilhado por domínios adicionais ou subdomínios: redirecionaria também os pedidos destes para o domínio canónico indicado.

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^ https://example.com%{REQUEST_URI} [R=302,L]

Faça uma cópia do ficheiro. O exemplo utiliza primeiro um redirecionamento temporário R=302. Depois de verificar páginas, formulários, APIs e conteúdo misto, altere o código para R=301. Se o site estiver por trás de um proxy, evite adicionar regras até confirmar como o proxy comunica o protocolo original, já que uma deteção incorreta pode criar um ciclo.

Verifique um URL interno com parâmetros, além da página inicial, e confirme que termina no mesmo recurso em HTTPS. Em aplicações com rotas próprias, utilize a respetiva configuração de URL juntamente com uma única regra coerente; não cole a regra dentro de um bloco gerado que a aplicação possa sobrescrever.

Se aparecerem ciclos, retire a alteração acabada de adicionar e reveja a cadeia de redirecionamentos antes de voltar a testar. O navegador pode recordar um redirecionamento permanente anterior; compare com uma sessão limpa. O HTTPS tem de continuar a apresentar um certificado válido antes de cada redirecionamento a partir de um URL que já começa por https://.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.