客户端仅拥有针对域名 www.site.com 版本的 SSL 证书,而不是 site.com 版本的 SSL 证书。
通过 mod_rewrite 重定向常规 HTTP 不是问题。
然而,对于 HTTPS 来说,这种方法似乎失败了。
我们想重定向https://site.com请求https://www.site.com。
是否可以在不在浏览器中引发无效证书警告或获取通配符证书的情况下完成此操作?
答案1
不,事情不是那样的。
SSL 事务发生在任何 HTTP 发送之前,因此 SSL 警告将在任何重定向发生之前出现。
实际上,我认为通配符也不起作用,因为 site.com 和 *.site.com 不一样。您可能需要考虑主题备用名称在证书上。
答案2
RapidSSL 的基本证书在以下情况下购买
www.mydomain.com
还涵盖
domain.com
虽然不是通配符,但它确实为您提供了 TLD 和 www 子域名的保护。
是的,你可以从子域名重定向到另一个没有SSL 错误 - 我们在很多网站上都使用过它,其中一个例子就是:
https://www.theclientarea.info重定向至https://sms-sagat.theclientarea.info
没有錯誤。
一个简单的 .htaccess 重写就可以帮你解决它:
RewriteEngine On
RewriteCond %{ENV:HTTPS} !On [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
HTTPS 子域之间的任何类型的移动都将无错误或提示地进行,无论是 POST/GET/.htaccess 重定向
唯一会出现问题的情况是,如果你从 HTTPS 重定向到 HTTP - 那么它会提示你。