网站安装SSL证书开启HTTPS后,不设置强制跳转的话,http和https会同时存在,下面分享Apache Web环境下使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法设置 :
方法一:.htaccess强制301重定向 HTTPS
设置.htaccess文件的301重定向,在.htaccess文件中加入以下规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>
以上方法,通过.htaccess设置301将HTTP重定向到HTTPS是最为常见的方法。
方法二:HTTP 80 强制转 HTTPS
全站使用HTTPS协议访问,所以将HTTP重定向到HTTPS,在.htaccess文件中加入以下规则
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
或者
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
强制HTTPS方式访问,并自动将顶级域名跳转到WWW
以资源部落为例,顶级域名是zyhot.com,本教程是将:http://zyhot.com跳转到https://www.zyhot.com/
ewriteEngine On
RewriteCond %{HTTP_HOST} !^www.zyhot.com$ [NC]
RewriteRule ^(.*)$ https://www.zyhot.com/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.zyhot.com/$1 [L,R=301]
强制HTTPS方式访问,并自动将WWW跳转到顶级域名
本教程是将:http://www.zyhot.com跳转到https://zyhot.com/
RewriteEngine On
RewriteCond %{HTTP_HOST} !^zyhot.com$ [NC]
RewriteRule ^(.*)$ https://zyhot.com/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://zyhot.com/$1 [L,R=301]
以上,使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法,包括顶级域名和www域名之间的跳转方法