Todo proprietário de site gostaria de saber a melhor forma de redirecionar um site para HTTPS. Se você tem um site com certificado SSL, mesmo que tenha configurado os protocolos HTTPS no painel do WordPress ele ainda pode carregar com apenas HTTP. Porém os navegadores modernos emitem um alerta sobre a insegurança do seu site.
Também, existem várias formas e vários scripts de redirecionamentos, dependendo do seu tipo de hospedagem.
Aqui eu vou mostrar o melhor código de redirecionamento para ser incluído no arquivo .htaccess de uma hospedagem linux.
Melhor código para redirecionar um site para HTTPS
Especialmente para quem tem um site WordPress e já fez as configurações para https:// e ainda ver estatísticas de acessos com http://
Abra o arquivo .htaccess e dentro RewriteEngine On
, logo após esta linha adicione o código a seguir:
RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.seusite.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R,L]
Ou se você deseja carregar sem o www apenas exclua e o código ficará assim:
RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://seusite.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R,L]
Troque seusite.com
pelo seu domínio .com
, ou .com.br
, ou .net
e assim por diante
Agora seu site carregará com o certificado de segurança e proteje seu site e seus usuários.
Como ficará o código do site criado com WordPress
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.seusite.com.br/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R,L] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
O exemplo acima pode ser usado também , para qualquer outra plataforma linux que utilize Apache, PHP e tenha o arquivo .htaccess. E não apenas para WordPress.
Depois disso faça vários testes com e sem www, com http e https para ver se realmente redireciona para a opção de configuração desejada.
Apenas este modelo foi eficiente em meus testes e todos foram redirecionados corretamente. No entanto, pode existir outros modelos de redirecionamentos eficazes. Você pode compartilhar para que outras pessoas saibam.