我尝试先将www重写为http和https的非www。适用于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。这可能是由于配置错误或攻击者拦截您的连接。
到目前为止,我认为这是不可能的,除非我有www.example.com
的SSL证书,否则连接将永远不会发生,服务器不会发送重定向响应。
到目前为止,我认为这是不可能的,除非我有www.foobar.com的SSL证书,否则连接将永远不会发生,服务器不会发送重定向响应。
。
浏览器将尝试建立到服务器的HTTPS连接,但由于提供的证书对域名无效,它将断开连接。
所以在这种情况下,您甚至没有得到可以重写请求的点。
如果你想让它在用户的浏览器中工作,你将需要获得一个证书,其中包括你的域名的www和非www版本。