在Apache

时间:2016-08-11 15:54:39

标签: apache .htaccess http redirect https

我想重定向以下域名

http://example.com
http://www.example.com
https://example.com

https://www.example.com
单个http请求中的

我知道可以使用

在两个请求中完成
#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]

但是额外的重定向会增加页面的加载时间。

我想在一个http请求中做两件事

我在ubuntu上使用apache2

提前致谢

1 个答案:

答案 0 :(得分:1)

要在单个http请求中重定向到https和www,您可以使用

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]