强制HTTPS并剥离WWW而不会收到Cert错误

我正在一个只拥有domain.com的SSL证书的网站上工作。 我正试图删除www。 并redirect到domain.com。 这我工作得很好。

我也想强制所有页面上的HTTPS,这工作正常,如果www。 没有input。

https://www.domain.com使用我们的URL时,会发生错误。

我可以看到它重写到https://domain.com,但我得到一个证书错误,我必须接受或拒绝。

有没有购买另一个证书的方法?

以下是我尝试的许多规则组合中的两种(其中很多来自其他的答案)。

1。

RewriteCond %{HTTP_HOST} ^(www\.)(.+) [OR] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(www\.)?(.+) RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L] 

2。

 RewriteCond %{HTTPS} =on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] RewriteCond %{SERVER_PORT} !^443 RewriteRule ^ https://domain.com%{REQUEST_URI} [R=301,L] 

我不认为有这个方法。 证书错误来自SSL(TLS)连接,发生在任何HTTP请求之前。

如果用户去http://www.domain.com/或只是http://domain.com/你可以重定向到https://domain.com/就好了。 如果用户访问https://www.domain.com/ ,他们会在收到重定向之前得到一个证书错误。

我认为你的选择是:

  1. 将www.domain.com指向禁用HTTPS的服务器。 用户在访问https://www.domain.com/时会遇到连接错误,这可能会导致证书错误
  2. 购买www.domain.com或* .domain.com的证书