Apache环境下几种http强制跳转https设置方法

目前为站点安装SSL证书开启https加密访问已经是件很简单的事了,主要是免费SSL证书的普及,为大家提供了很好的基础。在此文章中将介绍Apache环境下如何http强制跳转https访问。Nginx环境下一般是通过修改“.conf”文件来实现的(详情见这里)。而Apache环境下通过修改.htaccess 配置文件来设置。

设置方法

下面规则中使用的域名是www.fanchao.ccfanchao.cc,使用时请根据自己需要更改为自己的域名。至于规则放置到什么位置,一般我们可以选择放到到指定站点根目录.htaccess文件内容的头部,或apache的conf配置文件对应位置。
设置好后可以到这里检测下有没有成功:https://tool.chinaz.com/pagestatus/

1. 强制HTTPS方式访问,对WWW或顶级域名不做跳转。

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.fanchao.cc/$1 [L,R=301]

2. 强制HTTPS方式访问,并自动将顶级域名跳转到WWW。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.fanchao.cc$ [NC]
RewriteRule ^(.*)$ https://www.fanchao.cc/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.fanchao.cc/$1 [L,R=301]

3. 强制HTTPS方式访问,并自动将WWW跳转到顶级域名。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^fanchao.cc$ [NC]
RewriteRule ^(.*)$ https://fanchao.cc/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://fanchao.cc/$1 [L,R=301]