前言
根据前面的一篇文章在apache环境下配置ssl证书,实现了在浏览器可以访问https链接,但是当我们访问域名或者http的时候,发现并没有自动跳转到https,这篇文章就介绍了在apache环境下http如何自动跳转https的,感兴趣的小伙伴可以参考一下。
一、httpd.conf文件配置
1.开启mod_rewrite模块
vi /etc/httpd/conf/httpd.conf
找到并去掉#LoadModule rewrite_module modules/mod_rewrite.so前面的#,如果没有则添加进去
LoadModule rewrite_module modules/mod_rewrite.so
2.打开重定向
还是那个httpd.conf文件,找到
AllowOverride None ......
将None改为All
AllowOverride All ......
3.重启apache服务
systemctl restart httpd
二、设置重定向规则
1)修改网站根目录下.htaccess文件
windows环境下,不能把文件直接改名为.htaccess,会提示你必须输入文件名。所以我们先新建一个“新建文本文档.txt”文档,记事本打开,选择另存为,保存类型选择“所有文件(.)”,文件名输入“.htaccess”,保存。这样便生成了一个.htaccess文件。
2)vi打开.htaccess文件
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301]
编辑完成之后保存退出。
当我们访问http或者域名的时候,浏览器会自动跳转到安全的https协议。