我试图首先将www重写为非www,用于http和https。 适用于http请求,但对于https请求,浏览器显示'连接不是私有的'当www存在时。
我的SSL证书已分配给非www。我想知道是否有办法将https www重定向到非www?到目前为止,我尝试了不同的例子但没有成功:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
浏览器中显示以下错误消息(https://www.example.com
时):
您的连接不是私密的
此服务器无法证明它是
www.example.com
;它的安全性 证书来自foobar.com。这可能是由a引起的 错误配置或攻击者拦截您的连接。
到目前为止,我认为除非我拥有www.example.com
的SSL证书,否则它是不可能的,否则连接将永远不会发生,服务器也不会发送重定向响应。
答案 0 :(得分:1)
到目前为止,我认为除非我拥有www.foobar.com的SSL证书,否则它是不可能的,否则连接将永远不会发生,服务器也不会发送重定向响应。
完全。
浏览器将尝试建立与服务器的HTTPS连接,但由于显示的证书对域名无效,因此会将其分解。
因此,在这种情况下,您甚至无法重写请求。
如果您希望在用户的浏览器中使用此证书,则需要获得包含域名的www和非www版本的证书。