http://域到https:// www在一个重定向中

时间:2014-08-02 06:29:48

标签: apache .htaccess mod-rewrite redirect

我使用的是单一域名证书(仅限于.net子域),并且希望所有用户都使用此域名。

目前我的htaccess文件中有以下内容:

## force HTTPS and www. if any of them are not already present
RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]

但问题是,这似乎会导致两个单独的重定向:

http://domain.com -> https://domain.com -> https://www.domain.com

这意味着用户可以使用3个RTT,直到他到达正确的页面。另外,只有第二个重定向似乎是永久性的,第一个(http到https)似乎是暂时的,

是否有任何解决方案直接从http发送请求到https + www?

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

只有一个重定向。目标 https://www.%1。没有重定向到http://www.%1,也没有重定向到https://%1。只有1个}}。

不知道你是如何得出这条规则引起2种不同重定向的结论的。这是您的访问日志所说的内容吗?还是浏览器的网络控制台?