Seu conjunto de regras atual está apenas verificando o HTTP_HOST
. Para identificar solicitações para o seu frontpage, você precisa adicionar verificações para o REQUEST_URI
:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} ^$ [NC, OR]
RewriteCond %{REQUEST_URI} ^/node$ [NC, OR]
RewriteCond %{REQUEST_URI} ^/yourFrontpageAlias$ [NC]
RewriteRule ^(.*)$ https://www.mysite.com/$1 [L,R=301]
Isso também verifica se há um URI de solicitação vazio, para o frontpage padrão do Drupal 'node' e um apelido que você possa ter dado. Este é apenas um exemplo não testado. Se você mudou seu frontpage padrão, você precisa substituir 'node' por aquele. Além disso, teste as situações de barra final - dependendo da sua configuração, é necessário permitir a correspondência entre essas também.
Provavelmente, você também deve adicionar uma verificação da HTTPS
variável do servidor e pule a regra, se a solicitação for para https já. Ele conterá 'on' ou 'off' de acordo.
Se você quiser forçar outras páginas a não-SSL explícitas, você precisará adicionar uma regra redirecionando para não ssl para todos os outros casos também.
Além da página de documentação padrão mod_rewrite vinculada acima, você pode querer verificar os exemplos / explicações do Guia de regravação de URLs .
Observe também que, dependendo da sua configuração, talvez você não precise / queira verificar o HTTP_HOST
, por exemplo, você pode ter hosts diferentes apontando para sua instância (agora ou no futuro - um exemplo comum seria 'www.mysite.com', que sua configuração atual ignoraria).