Redirecionando de http para https no Apache

5

This is a canonical question about redirecting from http to https in Apache

Related:

Eu tenho um servidor da Web da Appache que serve tanto http://example.com/ quanto https://example.com/ . Eu quero redirecionar todos os pedidos de http para https. Atualmente, estou usando essa regra .htaccess para redirecionar solicitações http para https.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Ele está funcionando como esperado para example.com , mas a mesma regra não funciona para sublinks, quando eu acesso a links existentes, como example.com/about , ele ainda carrega em http, não há redirecionamento para links existentes.

Como posso fazer o Apache redirecionar todas as solicitações http para https?

    
por Augustin 17.04.2015 / 07:52

2 respostas

10

Você deve configurar o Apache Virtualhosts para fazer o trabalho. RewriteMod não é a solução apropriada para este caso e .htaccess também não é.

No seu httpd.conf ou equivalente, use as seguintes linhas de acordo com as suas necessidades. Edite-o no seu domínio e site.

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.example.com example.com
   Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName example.com
   DocumentRoot /usr/local/www/apache2/htdocs
   SSLEngine On

   ** Additional configurations here **

</VirtualHost>

Espero que isso clarifique o procedimento.

    
por 17.04.2015 / 08:04
1

Em hospedagem compartilhada, quando você não tem melhores opções, você pode modificar sua regra de reescrita no .htaccess:

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Primeiro, o RegEx no início corresponde a todas as solicitações, incluindo tudo por trás do domínio.

Em seguida, um código de resultado HTTP de 301 (movido permanentemente) é retornado ao cliente junto com o novo URL. A maioria dos navegadores modernos lembra o novo URL, neste caso o httpS, e redireciona para o novo URL automaticamente na próxima vez que o usuário acessa o site.

Espero que isso ajude, amáveis

    
por 17.04.2015 / 14:48