网站安装SSL证书开启HTTPS后,不设置强制跳转的话,http和https会同时存在,SSL证书大全网分享Apache Web环境下将HTTP强制跳转到HTTPS的几种设置方法:
使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法
.htaccess文件时Apache环境下的配置文件,通过.htaccess文件,可以帮我们实现网页301重定向等功能。.htaccess文件在哪?在你的站点根目录,没有就自己创建一个。本教程用.htaccess文件可以将HTTP强制跳转到HTTPS。
方法一:.htaccess强制301重定向 HTTPS
设置.htaccess文件的301重定向,在.htaccess文件中加入以下规则:
1 2 3 4 5 6 |
<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文件中加入以下规则
1 2 3 |
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] |
或者
1 2 3 |
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L] |
强制HTTPS方式访问,并自动将顶级域名跳转到WWW
以SSL证书大全网为例,顶级域名是指ssldaquan.com,本教程是将:http://ssldaquan.com跳转到https://www.ssldaquan.com/
1 2 3 4 5 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.ssldaquan.com$ [NC] RewriteRule ^(.*)$ https://www.ssldaquan.com/$1 [L,R=301] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.ssldaquan.com/$1 [L,R=301] |
强制HTTPS方式访问,并自动将WWW跳转到顶级域名
本教程是将:https://www.ssldaquan.com跳转到https://ssldaquan.com/
1 2 3 4 5 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^ssldaquan.com$ [NC] RewriteRule ^(.*)$ https://ssldaquan.com/$1 [L,R=301] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://ssldaquan.com/$1 [L,R=301] |
以上,使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法,包括顶级域名和www域名之间的跳转方法,欢迎留言!
阿里云:阿里云免费SSL证书申请(DigiCert)
腾讯云:腾讯云免费SSL证书申请(亚洲诚信TrustAsia)
华为云:华为云免费SSL证书申请DigiCert/GlobalSign/GeoTrust
发表评论