Redirecionando https: // www para https: // não www - sem ver erro de certificado, é possível?

Portanto, meu certificado SSL se aplica apenas ahttps://example.com - nãohttps://www.example.com (Não posso reclamar, foi grátis).

Depois de me aventurar no mod_rewrite e muita leitura (principalmente do stackoverflow), tenho um arquivo .htaccess que faz a maior parte do que preciso, eis o arquivo (com o domínio redigido, é claro).

<IfModule mod_rewrite.c>
    RewriteEngine On

    #First rewrite any request to the wrong domain to use the correct one
    RewriteCond %{HTTP_HOST} !^subdomain\.
    RewriteCond %{HTTP_HOST} ^(www|ftp|mail)\.example\.com [NC]
    RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

    #Redirect these subdomains to a subfolder
    RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
    RewriteCond %1 !^(www|ftp|mail)$ [NC]
    RewriteRule (.+)$ "http://example.com/%1" [L,P]

    #Now, rewrite to HTTPS:
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

O script contém comentários sobre o que faz (preciso deles mais do que você pensa). E há um arquivo .htaccess adicional na pasta para o subdomínio que está sendo redirecionado (uma subpasta na pasta raiz da web, com o nome do subdomínio correspondente) e a entrada dns correspondente no meu servidor dns. O .htaccess nessa pasta simplesmente redireciona http (porta 80) para https.

No momento, ele faz o que eu preciso, mas estou procurando maneiras mais simples de escrever isso. E, por mais simples, também pode significar mais global (se for mais rápido que os domínios codificados) e se houver alguma melhoria de velocidade a ser obtida com a reescrita.

Como mencionado anteriormente, meu certificado é apenas para um domínio que não seja www example.com, o que me leva à segunda (mas principal) pergunta.

Tráfego roteado da seguinte maneira:https://www.example.com verá o erro antes de qualquer roteamento, reescrita, etc. Isso ocorre porque uma conexão com o servidor da web nem aconteceu neste momento, correto? Este é essencialmente o servidor que entrega seu certificado e o navegador diz:espere um minuto!

Existe uma maneira de impedir que o tráfego atinja seu servidor de maneira inadequada (https: // www) antes do navegador emitir um erro de certificado?

Isso não precisa ser restrito apenas ao método .htaccess.

Existe uma maneira de fazer isso -em absoluto? E o que é assim?

Editar:

Eu estava tendo alguns problemas com minhas condições e reescrevia as consultas que não deveriam. Eu também estava tendo alguns loops de redirecionamento para acessar o apache.org para pesquisar isso; portanto, como uma maneira de acompanhar as alterações aqui, é o arquivo .htaccess agora:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # First rewrite any request to the wrong domain to use the correct one
    RewriteCond %{HTTP_HOST} ^(www|ftp|mail)\.example\.com$ [NC]
    RewriteRule ^(.*)$ http://example.com/$1

    # Redirect these subdomains to a subfolder
    RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
    RewriteCond %{REQUEST_URI} !^([^/.]+)/([^/.]+)
    RewriteCond %1 !^(www|ftp|mail)$ [NC]
    RewriteRule ^(.*)$ http://example.com/%1$1 [L,NC,QSA]

    #Now, rewrite to HTTPS:
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} ^http://example\.com/$ [NC]
    RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [L,R,NE]
</IfModule>

questionAnswers(1)

yourAnswerToTheQuestion