如何在Apache中将所有流量从http重定向到https

使用虚拟主机将HTTP重定向到HTTPS
在Ubuntu,Debian及其衍生版本上,您会在中找到虚拟主机文件/etc/apache2/sites-available。在您选择的文本编辑器中打开适当的文件:
$ sudo vi /etc/apache2/sites-available/example.conf
在RedHat,CentOS,Fedora和其他衍生产品上,您将在以下位置找到虚拟主机配置:
$ sudo vi /etc/httpd/conf.d
除其他事项外,该文件还可用于重定向流量。如果您已经在网站上使用HTTP和HTTPS,则文件中应该已经至少有两个虚拟主机-一个用于80(HTTP),一个用于443(HTTPS)。要重定向HTTP流量,我们需要添加以下行:
Redirect permanent / https://www.a5idc.net/
将其添加到<VirtualHost *:80>标题内的某处。

保存更改并在完成后退出此文件。为了使更改生效,您需要使用以下systemctl命令重新加载Apache配置:
$ sudo systemctl reload apache2 # Debian, Ubuntu
或者
$ sudo systemctl reload httpd # Red Hat, CentOS, Fedora
使用.htaccess文件将HTTP重定向到HTTPS
如果您无权访问虚拟主机配置,则该.htaccess文件将是您唯一的选择。可以在您网站的根目录中找到该文件,无论您使用哪种网络主机,都可以访问该目录。
只需编辑此文件并向其添加以下代码行。您可以将它们粘贴在文件的底部。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.a5idc.net/ [L,R=301]
重新打开您的网站时,您应该立即看到到所做的更改,因为不需要重新加载Apache即可使这些更改生效。
HTTPS绝对是以后的趋势。在本文中,我们看到了将所有流量重定向到HTTPS并完全摆脱HTTP的难易程度。这两种方法都可以强制将HTTP流量强制传递到网站上的HTTPS。

原文地址:https://www.cnblogs.com/a5idc/p/13594135.html