Regras apropriadas para o redirecionamento de SSL para subdomínios

1
RewriteCond %{HTTP_HOST} ^(.*\.)*subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/$1 [R]   

É o que tenho usado. Ele funciona desde que eu vá para uma página específica, como subexample.example.com/orders.php. Mas se você tentar ir para a raiz do subdomínio, ele adicionará o "/ example" extra no final.

Alguma sugestão sobre um conjunto de regras que funcionará?

Muito obrigado pelas suas respostas!

Na verdade, é isso que estou tentando fazer:

http://support.mydomain.net >> https://support.mydomain.net

E (!)

http://support.mydomain.net/anypage* >> https://support.mydomain.net/anypage*

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

Funciona, exceto que eu só preciso fazer isso para o support.mydomain.net

Com a configuração acima, você recebe um aviso de certificado se tentar ir apenas para mydomain.net, que eu não tenho ou preciso de um certificado SSL instalado.

UPDATE!

O outro problema com a regra que escrevi acima, é que se você tentar ir para a raiz do subdomínio (ou seja, support.mydomain.net), ele vai para link

Isso está me deixando louco, ajuda! =)

Qualquer ajuda seria muito apreciada!

    
por Zac Cleaves 13.12.2012 / 23:36

1 resposta

1

Com base no seu código, suponho que você queira fazer os seguintes redirecionamentos:

http://aaa.subexample.example.com -> https://subexample.example.com/aaa
http://subexample.example.com -> https://subexample.example.com/

E que este último não funciona.

Eu iria reescrever em duas partes diferentes de RewriteRule.

RewriteCond %{HTTP_HOST} ^subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/$1 [L]

RewriteCond %{HTTP_HOST} ^(.+\.)+subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/$1 [R]
    
por 14.12.2012 / 13:16