Forçar HTTPS SSL para subdomínio com .htaccess
Eu tenho esse código para forçar SSL em um site geralmente:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Do qual eu recebiaqui
Eu gostaria queaplica-se apenas a um subdomínio específico.
Por exemplo, se você fosse visitarhttp://sub.domain.org
deve redirecionar parahttps://sub.domain.org
.
Tenho um palpite de que preciso adicionar outroRewriteCond
o que basicamente dizé o domínio que está sendo atingido éhttp://sub.domain.org, mas não sei como escrever esse código.
Eu estive analisando outras perguntas sobre o stackoverflow, como:
Forçar HTTPS e WWW para domínio e somente HTTPS para subdomínios HTACESS
Forçar SSL / https usando .htaccess e mod_rewrite
e os documentos do Apache:https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond
E eu tive essas tentativas:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(reports\.)?uksacb\.org$ [NC]
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L]
Meio que inverteu a resposta nesteResposta da questão:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} =reports.uksacb.org
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
No entanto, ainda estou falhando em entender como fazê-lo corretamente.
Se alguém puder me explicar o que estou fazendo de errado, o que preciso fazer para corrigi-lo e como proceder para depurar suas condições e regras de reescrita para garantir que funcione corretamente, ficaria muito grato. Às vezes, acho que meu navegador está armazenando em cache as regras que escrevi e minhas diferentes tentativas não estão afetando!
Meu todo.htaccess
se parece com isso:
Opções -MultiViews
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]