linux https重定向,Linux | Apache环境下强制http跳转至https的配置总结

如果网站安装SSL证书开启HTTPS后,不设置强制跳转的话,http和https会同时存在,那么如何在Apache Web环境下将HTTP强制跳转到HTTPS呢?

c790983e0ee7350ef2dab92ddea2bb38.png

接下来将给给出使用.htaccess文件使HTTP强制跳转到HTTPS的几种方法,欢迎尝试与提出意见。

1)在httpd.conf文件里使下面模块生效[root@back ~]# cat /etc/httpd/conf/httpd.conf

.....

LoadModule ssl_module modules/mod_ssl.so

#如果使用https证书,这个模块功能一定要打开!

.....

LoadModule rewrite_module modules/mod_rewrite.so

#如果要http强转到https,这个模块功能一定要打开!

2)httpd.conf配置文件或者是在httpd-vhost.conf文件里修改[root@back ~]# cat /etc/httpd/conf/httpd.conf

.......

DocumentRoot "/var/www/html"

Options FollowSymLinks MultiViews Includes

AllowOverride All     #此处的none一定要改成all

Require all granted

3)在网站根目录下面添加该文件".htaccess"目录访问控制文件,并添加相应的内容。

.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

以本博客网站为例,顶级域名是指fishyoung.com,此处是将:http://fishyoung.com跳转到https://www.fishyoung.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.fishyoung.com跳转到https://fishyoung.com/RewriteEngine On

RewriteCond %{HTTP_HOST} !^xinshouzhanzhang.com$ [NC]

RewriteRule ^(.*)$ https://xinshouzhanzhang.com/$1 [L,R=301]

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://xinshouzhanzhang.com/$1 [L,R=301]

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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值