Apache:Redirecionando de HTTP para HTTPS
Como faço para redirecionar de HTTP para HTTPS no Apache?
A resposta é utilizar o mod_rewrite. Veja como:
Usando o mod_rewrite
Vá para o diretório /opt/IBM/HTTPServer/conf
> cd /opt/IBM/HTTPServer/conf
Edite o arquivo httpd.conf
Remova o comentário da linha
LoadModule rewrite_module modules/mod_rewrite.so
Vá para o final do arquivo e adicione como abaixo
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Salve e feche o arquivo
Reinicie o http server
> /opt/IBM/HTTPServer/bin/apachectl restart
Exemplos
Debugando as requisições
Vamos debugar os redirecionamentos, jogando os logs para /var/log/apache2/rewrite.log .
RewriteEngine On RewriteLog "/var/log/apache2/rewrite.log" RewriteLogLevel 3 RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Redirecionando todas as urls para https com excessão de um subdiretório
Vamos redirecionar todas as urls para https, com excessão de um subdiretório
RewriteEngine On RewriteCond %{REQUEST_URI} !/subdiretorio RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Ver também
- Definindo a URL padrão no IBM HTTP Server Apache
- Apache:Redirecionando para pagina de Erro
- Apache:Redirecionando de HTTP para HTTPS
- Linux e Unix: Ferramentas de Monitoracao e Performance
- AWSTATS: Configurando o AWSTATS