Forçando SSL com mod_rewrite

2

Eu tenho a seguinte declaração e funciona perfeitamente para redirecionar todos os pedidos de "www" em: 80 para forçar o navegador para o mesmo local em: 443

RewriteEngine   on
RewriteCond     %{HTTPS} !=on
RewriteRule     ^/(.*)$ https://www.mydomain.com/$1 [R=301,L]

No entanto, o que quero fazer é, independentemente do que está entre https: // e .mydomain.com - neste caso, o www, mas pode ser qualquer coisa, como "www2" ou "dev", etc. Quero que o URL seja simplesmente convertido para o equivalente SSL.

Eu sou novo no mod_rewrite, então o que eu estou procurando fazer é possível, já que o subdomínio pode ter qualquer tamanho variável de caracteres?

Agradecemos antecipadamente por qualquer ajuda.

    
por rws907 07.10.2012 / 21:44

4 respostas

0

Depois de ligar o registro a pedido do geocar e fazer algumas pesquisas, descobri que o problema estava com uma instrução ausente em /etc/apache2/ports.conf que estava causando a sobreposição em: 443. Eu resolvi isso e o problema acabou. Obrigado a todos pelo insight e ajuda.

    
por 09.10.2012 / 17:57
1

Tente:

RewriteEngine   on
RewriteCond     %{HTTPS} !=on
RewriteRule     ^/*(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    
por 07.10.2012 / 21:58
1

Usando variáveis de ambiente fornecidas pelo Apache mod_rewrite:

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

Veja o link para mais informações.

    
por 07.10.2012 / 21:59
0

Você pode usar a variável HTTP_HOST em sua string de substituição:

RewriteEngine   on

RewriteCond     %{HTTPS} !=on
RewriteCond     %{HTTP_HOST} mydomain\.com$
RewriteRule     ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    
por 07.10.2012 / 22:02