linux https重定向,Linux | Apache环境下强制http跳转至https的配置总结
如果網站安裝SSL證書開啟HTTPS后,不設置強制跳轉的話,http和https會同時存在,那么如何在Apache Web環境下將HTTP強制跳轉到HTTPS呢?
接下來將給給出使用.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域名之間的跳轉方法。
總結
以上是生活随笔為你收集整理的linux https重定向,Linux | Apache环境下强制http跳转至https的配置总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 删除20日前数据,Linux
- 下一篇: linux 其他常用命令