如何将网站从HTTP重定向到HTTPS?

采用HTTPS;不需要花费任何费用,但可以获得搜索引擎排名和安全性。

HTTPS应该普及到每个地方,而最近,Google将其视为其搜索引擎结果的排名信号

有两个主要原因你应该考虑用SSL证书保护你的网站。

  • 安全性-确保敏感数据从用户浏览器加密到Web服务器或网络边缘。拥有SSL还可以提供一些trust to the visitor,表明您的网站是安全的。
  • SEO- HTTPS是一个新的排名信号,大老板正在关注您,所以不要在竞争中落后。

如果您担心成本,那么请让我提醒您,您可以从许多发行商那里获得SSL certificate in FREE。并且大多数shared hosting提供免费的SSL。

有很多种方法可以进行重定向,以下是我找到的最简单的方法。

Apache

  • 登录到您的Apache服务器并转到其安装路径。
  • 转到conf文件夹并备份httpd.conf文件
  • 使用vi编辑器打开httpd.conf(选择您喜欢的编辑器)
  • 确保已加载mod_rewrite.so模块
LoadModule rewrite_module modules/mod_rewrite.so
  • 如果看到上面的行被注释掉了,请取消注释
  • 在文件末尾添加以下内容
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  • 重新启动Apache Web服务器以进行测试。

配置好的网站应该能够重定向并通过https访问。

Nginx

登录到Nginx Web服务器并备份nginx.confdefault.conf文件(不管您在服务器指令中使用的是哪个文件)

  • 在服务器指令中添加以下内容
return 301 https://$server_name$request_uri;
  • 保存文件并重新启动Nginx Web服务器。

重新启动Nginx以测试网站。

Cloudflare

如果您正在利用Cloudflare提高性能和安全性,则通过HTTPS拥有网站非常容易。

  • 登录到Cloudflare >> 选择站点
  • 转到SSL/TLS选项卡>>边缘证书

  • 确保已打开

还有另一种方法,即页面规则。

  • 转到页面规则
  • 点击“创建页面规则”
  • 输入URL(放置星号,以便所有URI都进行重定向)
  • 点击“添加设置”并从下拉菜单中选择“始终使用HTTPS”

  • 点击“保存并部署”

这将需要几秒钟,您就可以通过https访问您的网站了。如果使用Cloudflare后,您的站点由于混合内容而破裂,请查看以下指南。

Cloudflare SSL breaks WordPress & Joomla and how to fix it

cPanel

我假设您正在使用共享主机平台。首先,您需要确保托管提供商提供了SSL并为您的站点启用了SSL。

  • 登录到cPanel并转到文件管理器,您可以在其中找到.htaccess文件
  • 在文件末尾添加以下内容
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

注意:如果您在现有文件中已经看到“RewriteEngine On”,则不需要重复添加。

  • 保存文件并验证重定向。

SUCURI

SUCURIWAF plan下提供免费证书,您可以通过导航到HTTPS/SSL选项卡启用它。

首先,在SSL模式中选择“Full HTTPS”。

其次,在协议重定向中选择“仅HTTPS网站”。

保存配置,在几秒钟内,您的网站将通过https访问。

Kinsta

Kinsta,一个高级的WP托管提供商,提供Let’s Encrypt证书,并允许您通过单击强制使用HTTPS。

  • 登录到MyKinsta
  • 选择要启用和强制使用HTTPS的站点
  • 转到工具并启用Force HTTPS

SiteGround

SiteGround有自己的控制面板(之前是cPanel),并免费为您提供实现SSL证书的选项,并给您强制所有请求使用HTTPs的选择。

要这样做,

  • 登录到SiteGround
  • 转到网站选项卡
  • 在网站旁边选择Site Tools

  • 导航到Security >> HTTPS Enforce
  • 切换按钮以激活它

接下来是什么?

设置重定向后,请确保所有资源都通过HTTPS加载。您可以使用Mixed Content Testing tool来验证是否仍然有资源通过HTTP加载。

还有…

如果您注意到并使用WordPress,那么您可能需要使用SSL Insecure Content Fixer Plugin,这将确保所有资源都通过https://提供。

对于Joomla,请使用Easy HTTPS extension

结论

希望上述说明能对您有所帮助。您可能还想测试您的站点,以确保没有vulnerabilities in the TLS配置/证书。

类似文章