2017-09-11 38 views
1

我有一个example.com的SSL证书,但不适用于www.example.com。我试图把在Apache重写规则以使得对所有流量重定向到非www域名:Apache重定向非通配符SSL证书不起作用

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ https://example.com$1 [L,R=301] 

,当我做了https://www.example.com卷曲的重写工作,它显示了一个301重定向为预计:

curl -I https://www.example.com 
HTTP/1.1 301 Moved Permanently 
Server: Apache 
Strict-Transport-Security: max-age=63072000; includeSubdomains; 
Content-Security-Policy: upgrade-insecure-requests; 
Location: https://example.com 
Content-Type: text/html; charset=iso-8859-1 

但浏览器仍显示证书错误,并且未重定向到非www网址。任何帮助,将不胜感激。

+0

当您访问https://example.com(通过curl和浏览器)时会发生什么 – bubbly

+0

我http重定向到https。这部分工作正常。 – John

回答

0

我认为你可以添加一个SAN(Subject Alternative Name)登录www.example.com的证书。所以,同样的证书将用于这两个域。做一个web搜索abt SAN来获得更多的理解。一些参考文献What is SAN

0

对不起,但没有解决方案可以解决您的问题,除非您在您的Apache服务器上安装SSL证书。