Apache下HTTP强制跳转到HTTPS的几种设置方法

    网站安装SSL证书开启HTTPS后,不设置强制跳转的话,http和https会同时存在,新手站长网分享Apache Web环境下将HTTP强制跳转到HTTPS的几种设置方法:

使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法


强制https

    .htaccess文件时Apache环境下的配置文件,通过.htaccess文件,可以帮我们实现网页301重定向等功能。.htaccess文件在哪?在你的站点根目录,没有就自己创建一个。本教程用.htaccess文件可以将HTTP强制跳转到HTTPS。

方法一:.htaccess强制301重定向 HTTPS

设置.htaccess文件的301重定向,在.htaccess文件中加入以下规则:

RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

以上方法,通过.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

以新手站长网为例,顶级域名是指xinshouzhanzhang.com,本教程是将:http://xinshouzhanzhang.com跳转到https://www.xinshouzhanzhang.com/

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

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

本教程是将:http://www.58yanhao.com跳转到https://58yanhao.com/

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

以上,使用.htaccess文件将HTTP强制跳转到HTTPS的几种方法,包括顶级域名和www域名之间的跳转方法,欢迎收藏!

内容版权声明:文章由沙漏博客 博主:颜浩 分享提供!

转载注明出处:https://www.58yanhao.com/a/179.html