.htaccess https://www 单域证书上的重定向
如果我有一个SSL证书.htaccess https://www 单域证书上的重定向,.htaccess,ssl,ssl-certificate,.htaccess,Ssl,Ssl Certificate,如果我有一个SSL证书 https://www.example.com 但不是为了 https://example.com 我发现我应该使用 #First rewrite any request to the wrong domain to use the correct one (here www.) RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,
https://www.example.com
但不是为了
https://example.com
我发现我应该使用
#First rewrite any request to the wrong domain to use the correct one (here www.)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#Now, rewrite to HTTPS:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
用于正确重定向。这似乎有效,但有一种情况除外:
如果我输入https://example.com
则不会将其重定向到https://www.example.com
。相反,我得到的是:
无需为
https://example.com
?要了解您需要哪些证书,您需要了解浏览器何时检查这些证书,以及服务器何时有机会发出重定向
HTTPS本质上是将HTTP会话“包装”到TLS会话中,因此请求和响应大致如下所示:
- 浏览器:我可以进行TLS会话吗
- 服务器:当然,让我们开始做加密的事情吧李>
- 浏览器:您使用的是什么X509证书?如果有区别,我将在“example.com”上请求一个资源
- 服务器:这里有一个“example.com”的证书,以及一些中间证书,以便您可以跟踪到您信任的颁发者
- 浏览器:好的,这符合我的要求。让我们谈谈HTTP
- 浏览器:我想在host example.com上获取资源/信息
- 服务器:请将您的用户重定向到此新URL:
这实际上是一件非常好的事情:否则,有人劫持一个网站,可能只是将其所有流量重定向到他们拥有证书的地方,而不会为被劫持的域生成可信证书。您好,请尝试在每篇文章中坚持一个问题;如果两个部分的答案不同,处理投票、复制等问题会变得很尴尬。@IMSoP好的,我会这么做!