Isso redirecionará www.example.com para o link
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://example.com/$1 [R,QSA,L]
Estou tentando me preparar para a próxima versão "Non Secure Display" v56 do Chrome.
Eu gerencio um serviço de website: example.com
Eu ofereço a cada cliente um subdomínio do serviço: cust1.example.com
, cust2.example.com
, etc.
Há alguns anos, configurei o serviço para aceitar www.cust1.example.com
, www.cust2.example.com
, etc. Principalmente porque os clientes sempre adicionavam o "www" à frente de tudo. Eu queria ter certeza de que eles recebessem o site deles e não uma mensagem de "domínio inválido".
Eu comprei um certificado SSL curinga *.example.com
para cobrir os sites dos clientes. Obviamente, isso não funciona para www.cust1.example.com
, etc. A maioria dos meus clientes não usou HTTPS, então isso não foi um problema.
Com os navegadores modernos forçando o https agora, está se tornando um problema.
Eu tentei usar mod_rewrite para corrigir o problema.
RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.example\.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://%1.example.com/$1 [R=302,E=nocache:1,L]
Observação: estou usando o 302 enquanto testo uma solução para não enviar um redirecionamento acidentalmente ao cache do navegador e nunca mais alterá-lo.
O problema é quando você começa com HTTPS no navegador, o redirecionamento fornecido de volta do servidor ainda dispara o erro ERR_CERT_COMMON_NAME_INVALID antes que ele possa redirecionar para remover o "www" e chegar a uma página com um certificado válido.
Como posso remover o prefixo "www" no tráfego HTTPS sem acionar a resposta Not Secure do navegador?
Isso redirecionará www.example.com para o link
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://example.com/$1 [R,QSA,L]