我正在一个仅拥有 domain.com 的 SSL 证书的网站上工作。我正在尝试删除 www。并重定向到 domain.com。这我工作得很好。
我还想在所有页面上强制使用 HTTPS,如果 www. 没有打字。
当https://www.domain.com访问 URL 时会出现错误。
我可以看到它重写为https://domain.com但我收到一个证书错误,我必须接受或拒绝。
有没有办法在不购买另一个证书的情况下解决这个问题?
这是我尝试过的许多规则组合中的两个(其中许多来自其他 SO 答案)。
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]