Apache 的mod_rewrite可以很容易地要求在您的站点上使用 SSL,并可以轻松地重定向在键入 URL 时忘记添加 https 的用户。使用 Apache 将 http 重定向到 https 将确保您的网站(或其中的一部分)只能由使用 SSL 的客户访问。这比使用 SSLRequireSSL 更好,因为用户经常忘记输入 https 并且会被自动重定向。
在设置从 http 到 https 的 Apache 重定向之前,您需要执行以下操作:
- 确保您的 SSL 证书已成功安装,以便您可以访问 https://www.yoursite.com(有关更多信息,请参阅我们的Apache SSL 安装说明)
- 确保在 Apache 中启用了 mod_rewrite
现在您只需要编辑您的 httpd.conf 文件或指定您的虚拟主机的文件并添加这些行以将 http 重定向到 https:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
在许多情况下,您还可以将这些行添加到您要将 http 重定向到 https 的文件夹中名为 .htaccess 的文件中。
现在,当访问者键入 http://www.yoursite.com/mypage.htm 时,服务器会自动将 http 重定向到 https,以便他们转到 https://www.yoursite.com/mypage.htm
注意:您还可以通过在配置文件或 .htaccess 文件中使用它来将单个页面从 http 重定向到 Apache 中的 http:
RewriteEngine On
RewriteRule ^apache-redirect-http-to-https\.html$ https://www.yoursite.com/apache-redirect-http-to-https.html [R=301,L]
评论