使用一个301重定向重定向到https和www

时间:2017-03-30 23:29:25

标签: apache .htaccess mod-rewrite

所有

我想将所有请求重定向到https://www网址,例如

case1: http://www.example.com --301--> https://www.example.com
case2: https://example.com    --301--> https://www.example.com
case3: http://example.com     --301--> https://www.example.com

这里我的代码在.htaccess文件中

RewriteCond %{HTTPS} off     
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

在案例1和2中工作正常。但是当我有一个http和非www请求(case3)时,它需要两个301重定向才能登陆https://www

http://example.com 
--301--> 
https://example.com 
--301--> 
https://www.example.com

我们如何强制使用https和www,总是只需1 301重定向。

我对Apache和重写模块不太熟悉。求救!

1 个答案:

答案 0 :(得分:3)

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

[[UINavigationBar appearance] setTranslucent:NO];