Apache环境.htaccess将HTTP强制跳转到HTTPS的设置方法

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

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

.htaccess文件时Apache环境下的配置文件,通过.htaccess文件,可以帮我们实现网页301重定向等功能。.htaccess文件在哪?在你的站点根目录,没有就自己创建一个。本教程用.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

以LAMPLNMP为例,顶级域名是指lamplnmp.com,本教程是将:http://lamplnmp.com跳转到https://www.lamplnmp.com/

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

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

本教程是将:https://www.lamplnmp.com跳转到https://lamplnmp.com/

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

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

2023腾讯云服务器超便宜,这个价格太可以了,抓紧上车!

注意:以上特价轻量服务器限制条件为“产品首单特惠”,如果你的腾讯云账号已经是老用户,建议重新注册一个腾讯云账号,如果你是新用户符合条件,那么无脑入,这个CPU内存带宽配置,价格确实便宜,值得买!