技术SEO

什么是HTTPS以及如何切换HTTPS提升SEO效果(2022年终极指南)

  作者:Li Bai    

我们在本文中将深入探讨关于 HTTPS 的几个领域:

  1. 什么是 HTTPS?
  2. 为什么 HTTPS 很重要?
  3. HTTPS是如何工作的
  4. HTTPS 对 SEO 重要性
  5. 如何切到 HTTPS

什么是 HTTPS

HTTP 是超文本传输​​协议的缩写。这是通过网络传输网页数据的主要方法。网页存储在服务器上,然后在用户访问它们时提供给客户端计算机。

这些连接的结果网络创建了我们今天所知的万维网。没有 HTTP,我们所知道的万维网 (WWW) 就不会存在。

HTTP 基本上是一个信使,它将您的请求传送到 Web 服务器并返回您想看到的内容。 

您在搜索栏中用于执行所有操作的 URL 如下所示:

<img alt="将 http 重定向到 https" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/e9/32/e9322569d7f1febd836685bdd4a57775/Screen%20Shot%202021-06-03%20at%203.42.01%20PM.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/m…f1febd8…/Screen%20Shot%202021-06-03%20at%203.42.01%20PM.png">

HTTPS 是“超文本传输​​安全协议”的首字母缩写词,代表安全的超文本传输​​协议,与 HTTP 不同,HTTPS 网页具有额外的安全层,用于通过互联网或网络进行安全通信。

通信协议使用传输层安全性 (TLS) 或以前的安全套接字层 (SSL) 进行加密,确保您与服务器的连接安全。额外的安全性降低了第三方攻击者访问您与站点共享的任何数据的风险。

为了建立安全连接,客户端(例如,您的浏览器)和服务器相互联系。客户端连接到服务器,服务器通过数字证书发回其标识。两者都使用 HTTPS 传输这些数据,就像使用 HTTP 一样。

您在搜索栏中看到的网址如下所示:

<img alt="img-semblog" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/9e/ef/9eef4d8744f4c667edb238d93f097f98/Screen%20Shot%202021-06-03%20at%203.39.06%20PM.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/m…f4c667e…/Screen%20Shot%202021-06-03%20at%203.39.06%20PM.png">

HTTP 和 HTTPS 通过所谓的请求工作。当用户与网站进行一些交互时,这些请求由用户浏览器创建。这是页面渲染中的一个关键元素,没有它,您将无法使用当今存在的万维网。

为什么 HTTPS 很重要

HTTP 连接存在一个主要问题——通过 HTTP 连接传输的数据未加密,因此您面临第三方攻击者窃取信息的风险。通过 HTTP 通过此网络传输的任何信息都不是私有的,因此如果您处于 HTTP 页面上,则不应提交任何信用卡数据和敏感信息。

一开始,SEO 使用 HTTP,这是一种用于向大众提供网页的协议。网络很简单,网站迁移仅存在于域到域或服务器到服务器之间。除了通常的重定向之外,您不必担心太多,并确保您的网站迁移顺利进行。

谷歌在 2014 年宣布将使用HTTPS作为排名信号,以鼓励网站证明他们将尽可能保证用户数据的安全。 

作为网站所有者,使用 HTTPS 是向用户表明您的网站合法且安全的另一种方式。 

本质上,使用 HTTPS 协议向用户展示了您拥有 E-A-T 因素:专业知识、权威性和可信度。

HTTPS 的一大隐藏好处是它有助于与您的用户建立信任。如果您运行的电子商务网站接受信用卡数据,那么浏览器中您的网站上会出现挂锁这一事实让您的用户相信您的网站可以处理信用卡交易,而不会将数据泄露给窥探者。

安全站点示例

与不安全的站点相比,它将帮助用户更信任您的站点——当站点不“安全”时,现代浏览器会警告用户。

借助 HTTPS,信用卡数据、密码、私人用户数据和个人数据均采用工业级安全级别进行加密。这种安全性将使您的网站能够继续在您的细分市场中与其他网站保持竞争力。

除了保护用户数据免遭窥探之外,https:// 还有助于保护您的声誉。如果您的站点经常出现安全漏洞,并且用户数据被暴露,人们将不会想要使用它。这可能会损害您的在线声誉而无法修复,并且从长远来看可能会使您付出代价。

HTTPS 是如何工作的?

与 HTTP 不同,HTTPS 使用来自第三方供应商的安全证书来保护连接并验证站点是否合法。此安全证书称为 SSL 证书(或“证书”)。

SSL 是“安全套接字层”的缩写。这就是在浏览器和服务器之间创建安全加密连接的原因,从而保护两者之间的通信层。

此证书使用您购买 SSL 证书时指定的保护级别对连接进行加密。 

SSL 证书为您不希望第三方攻击者访问的敏感数据提供了额外的安全层。在运行电子商务网站时,这种额外的安全性非常重要。

一些例子:

  • 当您想要保护信用卡数据或其他敏感信息(例如某人的真实地址和物理身份)的传输时。 
  • 当您运行依赖于某人的真实信息的潜在客户生成网站时,在这种情况下,您希望使用 HTTPS 来防止对用户数据的恶意攻击。

HTTPS 有许多值得付出一点代价的好处。请记住,如果证书不存在,第三方可以轻松扫描连接以查找敏感数据。

http如何工作

什么是 TLS?它如何适用于 HTTPS

TLS 代表传输层安全。它有助于加密 HTTPS,并可用于保护电子邮件和其他协议。它使用加密技术确保数据自发送以来未被篡改,通信是与通信来自的实际人员进行的,并防止私人数据被看到。

事情从 TLS 握手开始,该过程启动使用 TLS 加密的通信会话。这是进行身份验证和创建会话密钥的地方。当两个设备通信时,会从两个不同的密钥一起工作,生成全新的会话密钥。这样做的结果是更深入、更加密的通信。

https如何工作

 

以下是Google 建议您避免的一些错误。

google如何避免https错误

HTTPS 的关键步骤——验证 Web 服务器

HTTPS 安全连接最关键的步骤是确保 Web 服务器就是他们所说的那样。

这就是为什么 SSL 证书是此设置中最重要的部分的原因;它确保网络服务器的所有者是他们所说的证书所说的人。它的工作方式与驾驶执照的工作方式非常相似——它确认服务器所有者的身份。

当您实施 HTTPS 时,就存在针对某些类型攻击的一层保护,使其成为您网站的重要组成部分。

HTTPS 对 SEO 的重要性

https 在 google 中的排名数据

在2020年秋季,HTTPS URL占10,000个关键词跟踪集合中第一页自然搜索结果的98%。以下是自2017年4月以来的月度增长:

HTTPS自然搜索增长

2017年10月,谷歌宣布Chrome将向用户显示更多非安全表单警告,HTTPS出现了增长。之后没有宣布关于HTTPS的算法更新。

根据跨桌面和移动端的750万个关键词的统计信息:

即使在前50名自然结果的末尾,超过92%的URL是HTTPS。HTTPS普及率似乎确实在下降,更不安全的URL在谷歌结果中排名更靠前,但即使在结果的第五页,HTTPS的普及率仍然很高。

HTTPS在排行榜顶端的普及程度是否表明HTTPS是一个排名因素?其实并不是它本身——而是因为更权威的网站可能对感知的安全性更敏感,并拨出更多预算来实施。然而,我们知道谷歌已经公开表示,HTTPS是一个“轻量级排名信号”,这些数据似乎支持这一说法。

HTTPS 是决胜因素

如果你不相信HTTPS在自然结果的前十名中有97-98%,有HTTPS很重要,那我真不知道该说什么了。

当我们专注于排名时,有时会忽视核心相关性(这是大规模排名研究中的一个难题)。例如,在您的页面上设置相关关键词并不能决定您能否在整体排名中获胜,但对排名依然至关重要。如果没有相关关键词,你甚至不能加入这场排位竞赛。HTTPS也是如此——它可能不会决定你是排名第1还是排名第10,但它确实能影响你的排名先后。

同样重要的是,谷歌在Chrome浏览器中围绕HTTPS/SSL做出了重大改变,如果您的网站不安全,谷歌会频繁地警告访问者。即使您仍然很幸运在没有HTTPS URL的情况下进入搜索结果排名,您也会给许多访问者带去糟糕的用户体验。

在97%到100%之间的位置已经没有多少了,如果您还不认真对待HTTPS/SSL,这将是您最后的警钟。

约翰·穆勒 (John Mueller) 也说过 HTTPS 是一个轻量级的排名因素,仅此而已,但当网站上的一切都是平等的时,https:// 是排名的决胜因素。

HTTPS 对 SEO 的影响

爬虫问题

400 和 500 级别的 HTTP 状态错误使您的页面对您网站的访问者完全不可见。400 级错误(包括可怕的 404“页面未找到”错误)表明内容无法找到或已被完全删除。500 错误表示服务器有问题。

访问者在遇到此类错误页面时不会在您的网站上停留很长时间。在您解决问题之前,您的竞争对手是赢家。 

您根本无法承受这些错误在您的主页上出现。

重定向问题 

重定向问题对用户体验和 SEO 有重大影响。

302/307 代码临时将用户从一个 URL 重定向到另一个 URL。谷歌并没有在这方面发挥作用,他们也没有将尽可能多的链接资产传递给页面。

重定向链也是谷歌的拦截器,在链中的每个后续重定向中都会失去权重。有时,如果重定向链太长,您的页面根本不再出现。 

请记住,页面加载速度是一个排名因素;访问者等待的时间越长,页面失去的排名就越多。 

重定向问题会阻止机器人抓取和索引页面,就好像它们不存在一样。您已经努力工作以致于让这些问题溜走,所以让您的 Web 开发人员紧急修复它们。 

如何修复 404 错误?

404 错误(或“找不到页面”错误)可能有多种原因。无论它们是什么,它都是客户端错误而不是服务器端错误。要解决 404 错误,您需要找到此错误的根本原因。问自己以下问题:

  1. URL 结构是否已更改?如果是,则将旧 URL 结构重定向到新结构。更改 URL 结构后,Shopify 和 Wordpress 等一些 CMS 会自动重定向。
http状态码

2.刷新页面。当您看到您的页面关闭时,您可能想吓坏了,但有时只需刷新页面或在另一台设备上打开它就可以解决问题。

3.清除缓存和cookies:清除浏览器缓存并删除co​​okies,然后再次尝试访问该页面。

如何修复 503 状态码错误?

与 404 错误不同,这些是服务器端错误,有时无法立即修复。处理此状态代码时,请考虑以下三个因素:

1. 如果在您收到此错误时网站接收了过多流量(首先确保其真实流量而不是机器人流量),则可能是您网站当前使用的托管计划无法处理这种流量涌入。最好的解决方法是联系您的主机提供商并升级您的服务器。
2. 如果页面返回 503 错误,有时您的服务器可能正在维护或崩溃。请耐心等待或联系您的主机提供商以了解网站何时会备份。
3. 确定是 DoS 还是 DDoS 攻击。 

从 HTTP 迁移到 HTTPS

在 SEO 中从 HTTP 切换到 HTTPS 有很多好处,尤其是从 SEO 的角度来看。但是,除非您熟悉该过程,否则可能弊大于利。

在您的网站上设置从 HTTP 到 HTTPS 的重定向将取决于您网站的主机。但是,在查看细节之前,您可以先处理一些初步的事情:

  1. 为您的站点选择 SSL 证书
  2. 告诉 Google 您的新协议 
  3. 更新您的内部链接

向 Google 通报过渡情况以及应避免的错误

Google 将一个网站的 HTTP 和 HTTPS 版本视为两个不同的网站,因此将您的重定向告​​知他们很重要。您需要确保用户在尝试访问时被定向到您网站的正确版本。 

此步骤涉及设置另一个 Google Search Console 配置文件。不要禁用您的非安全 GSC 配置文件。相反,您需要保持所有配置文件处于活动状态。为您网站的 HTTPS 版本设置新的配置文件,并确保它继续收集数据。

此外,在 Google Analytics 中,您必须确保将您的个人资料设置为安全。否则,您将无法跟踪正确的数据。

不要忘记在适用的情况下更新 Google 跟踪代码管理器中的数据收集参数。此外,如果您使用 Bing 站长工具,在迁移过程中也需要将 http:// 更新为 https://。

您会惊讶地发现,我在 http:// 到 https:// 的转换中经常遇到错误,这些错误是由于缺乏对初始转换过程的开发监督以及没有更新关键数据跟踪配置文件而引起的。

这些类型的错误可能导致数据的低报和高报,这两种情况都可能对您的 SEO 策略决策的准确性造成不好的影响。

选择正确的安全证书:SSL 和通配符证书

为了使一切正式化,您需要获得安全套接字层 (SSL) 证书。SSL 证书是第三方确认您的连接和站点是合法的。 

SSL 证书将包括:

  1. 服务器名称
  2. 证书颁发机构
  3. 服务器的公共加密密钥。

SSL 证书对您的站点和用户之间的消息进行加密。它将防止他们阅读或窃取私人信息,例如信用卡详细信息或密码。 

您拥有用于各种目的的 SSL 证书。一个用于单个域,另一个用于多个域,更不用说通配符认证了。对于较小的站点,通常不需要完整的通配符证书。但是,在您的网站上控制 URL 语法时,它可以让您的生活更加轻松。

单个域的 SSL 证书是为一个子域或单个域本身颁发的。多个域的 SSL 证书将允许您保护主域名和最多 99 个 SAN,或主题备用名称。

通配符可以让您保护您最初的网站的网址以及任何与它相关联的所有无限子域名。这是什么意思?这意味着,如果您设置了 domain.maindomain.com 并且它是使用通配符证书创建的,则它自动是安全的。您无需花费更多精力来确保它符合您网站的现有安全性。换句话说,它将为您省去很多麻烦。

显然,通配符证书显然是这里的赢家。但是,作为具有许多不同功能的强大证书,它确实成本更高,因此您必须权衡额外的业务费用并将其与您将获得的功能进行比较。

确保所有 URL 都在站点范围内正确更新

有些人建议只为您的资源使用相对 URL。假设您擅长管理网站的持续需求,则无需执行此步骤。您只需要确保所有现场内容都附加了正确的协议。并且不要忘记您的XML 站点地图

您会惊讶于我对未能完成这一步骤的网站进行了多少审核——确保所有内容都是安全的。

使用相对或绝对 URL 并不重要,只要您在现场保持更新即可。如果您愿意,您可以切换到相对 URL,但如果您的站点建立在绝对 URL 上,请在您的站点允许的情况下对数据库使用查找和替换选项。这将帮助您消除混合内容的所有现有实例。

确保在进行转换后,您的 URL 正确地以 https:// 开头,并且您不应遇到任何重大问题。

不要阻止 Google 抓取您的新 HTTPS 站点

您必须确保可以从 robots.txt 中抓取所有元素。除非您有特定问题,例如确实不应编入索引的文件夹,否则允许 Google 抓取网站上的所有内容,甚至 CSS 和 JS 文件是有意义的。如果您的站点不允许呈现 CSS 和 JS 文件,您可能会遇到问题。

例如,如果您禁止在页面上呈现关键 CSS 或 JS 元素,那么您可以阻止 Google 了解页面的整个上下文,这是获得更高排名的重要部分。此外,在大约 99% 的情况下,没有理由以这种方式禁止 CSS 或 JSS 文件。

在迁移过程中仔细检查所有内容

对重定向进行排序后,就该检查您的内部链接是否具有 HTTPS URL 并继续正常工作。

定期、持续地监控您的网站对于成功将网站迁移到 https:// 至关重要。检查 Google Search Console、Google Analytics,并仔细检查您使用的任何其他报告软件。如果您尚未将 http:// 更新为 https://,则必须尽快更新。这样,您就不会遇到可能严重损害您的 SEO 工作的进一步问题。

如何在 WordPress 中重定向到 HTTPS

如果您通过 WordPress 运行您的网站,有几种不同的方法可以将 HTTP 重定向到 HTTPS。 

  1. 使用插件
  2. 手动编辑 WordPress 文件

我们现在将带您完成这些步骤!

1. 使用插件

对于初学者来说,这是一个超级简单的方法。首先,安装一个 SSL 插件,然后激活它。该插件会自动执行以下操作:

  • 检查您的 SSL 证书 
  • 指示 WordPress 在 URL 中使用 HTTPS
  • 设置重定向
  • 查找仍然通过 HTTP 加载的任何 URL 并重定向它们

安装后,您需要在您的站点上保持插件处于活动状态;停用它可能会导致性能和内容错误。

2.手动编辑WordPress文件

要编辑您的 WordPress 文件,请访问您的常规设置并将您的 WordPress 和站点 URL 地址更新为 HTTPS 而不是 HTTP。

WordPress设置

然后在 .htaccess 文件中设置重定向:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
[L,R=301] </IfModule>

是否看起来很混乱?这是细分: 

  • RewriteEngine On”:启用重写 
  • RewriteCond %{HTTPS} off”:检查 HTTP 连接
  • RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUSEST_URI} [L,R=301]” :使用 301 状态代码将 HTTP 重定向到 HTTPS

现在 WordPress 应该使用 HTTPS 加载您的网站!

如何在 Nginx 中进行 HTTP 重定向

如果您使用 Nginx 托管,有几种方法可以将您的 HTTP 重定向到 HTTPS。 

  1. 将所有 HTTP 站点重定向到 HTTPS
  2. 重定向特定站点

让我们更详细地回顾一下它们。 

1. 将所有 HTTP 站点重定向到 HTTPS

当您知道您希望所有站点都专门使用 HTTPS 时,可以使用此方法。您只需更改 Ngnix 配置文件:

server {listen 80;listen [::]:80 default_server;server_name _;return 301 https://$host$request_uri;}

以下是代码的实际含义:
  • listen 80 default_server”:建立服务器块作为任何不匹配域的默认值
  • return 301 https://$host$request_uri”:将任何流量重定向到正确的 HTTPS 服务器块;$host 保存请求域名。

2. 重定向特定站点

如果您有多个应用程序或站点并且不需要每个应用程序或站点都需要 SSL 证书,则这是首选选项。同样,只需对代码进行简单的更改:

server { listen 80; server_name example.com; www.example.com; return 301 https://example.com$request_uri;}

如您所见,此代码并未指定“默认服务器”。相反,它侧重于特定的主机名。让我们分解一下:

  • listen 80”确保服务器块将“侦听”端口 80 (HTTP) 上的任何连接
  • server_name example.com; www.example.com”确保指定服务器域名。当然,您的域名应该被替换为“example”。 
  • return 301 https://example.com$request_uri”确保流量被重定向到网站的 HTTPS 版本。“301”创建到特定 URI 的重定向并将用户发送到 HTTPS 版本。 

您需要重新启动或重新加载 Nginx 才能使更改生效。从那里,您将准备好出发!

如何在 Windows IIS 中重定向到 HTTPS

如果您使用 Windows IIS,在您的站点上从 HTTP 重定向到 HTTPS 有两个关键步骤。我们将更详细地探讨它们。

第1步

  1. 下载 IIS URL 重写模块
  2. 进入 IIS 管理器并选择需要重定向的网站
  3. 选择 URL 重写
  4. 单击添加规则,选择空白规则,然后输入您的规则名称。按如下方式填写以下弹出窗口:

<img alt="将 HTTP 重定向到 HTTPS" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/91/e1/91e1a8fa5e71f7f89f942c5bc16471d4/Cw4Ldv_Xk8LwKmll8XZ7LpP_f5blcpRRqvqjBPIXRNZV0206eAJJ4fWrsFCazqeukLs1lqAVcyohUrrueKtsrz3a_7GaVHlvh4Z0AFo9D9ebzm1nIslXSwXahLU2NeOWKpWdGWQy.jpeg" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/m…1lqAVcyohUrrueKtsrz3a_7GaVHlvh4Z0AFo9D9ebzm1nIslXSwXahLU2NeOWKpWdGWQy.jpeg">

  1. 在下一个窗口中,进行以下编辑:

<img alt="将 HTTP 重定向到 HTTPS" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/54/7d/547d11aab581cd5a93f4df9119bfa445/HXtKC3uwiMpFMiqvYaCHQE8gj1TK_TX9zD6F3wg-1rlpQmSBIEyGhfO-r-FI0ulkQo6AusExmRM24zwrd16ZyJ72moFYBHOjtYalUJbLLrTzmxgVfGFCV5fU4xz5KiXIa6s6HM0B.jpeg" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/m…AusExmRM24zwrd16ZyJ72moFYBHOjtYalUJbLLrTzmxgVfGFCV5fU4xz5KiXIa6s6HM0B.jpeg">

  1. 这将带您进入操作部分。在这里,您应该进行以下更改:
<img alt="将 HTTP 重定向到 HTTPS" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/64/a4/64a4b1849a8cef85f7bd8d3d3ea177b3/UUyjKctzNxhWDZBlF9iTuHVFp-4Tr8BtJdOecWEJjtzSeQDz97LeUy-EChDHQmd8PQY-XI-iC3Q6BEB2We6rojAHRkmkIQzuByw8F1bTf9OOViMXgiztNjwL6t5tG4UGKkw1AmPo.jpeg" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/m…-XI-iC3Q6BEB2We6rojAHRkmkIQzuByw8F1bTf9OOViMXgiztNjwL6t5tG4UGKkw1AmPo.jpeg">
  1. 点击申请!

第2步

  1. 在您的 IIS 仪表板上,右键单击您的站点,然后选择探索。
  2. 打开 web.config 文件。 
  3. 添加以下代码块(如果它还没有)
<configuration><system.webServer><rewrite><rules><rule name="HTTPSforce" enabled="true" stopProcessing="true"><match url="(.*)" />
<conditions><add input={HTTPS}"pattern="OFF$"/></conditions><action type="Redirect" url=https://{HTTP_HOST}/{R:1} redirectType="Permanent" /></rule> </rules></rewrite></system.webServer></configuration>

如何在 Apache 中进行 HTTP 重定向

如果您使用 Apache,进行切换也很容易。 

如果您可以访问根服务器,则在 Apache 虚拟主机域配置文件中设置重定向很简单。如果你不能,那么你可以进入你的 .htaccess 文件并在那里进行更改。 

使用 Apache 虚拟主机重定向

当您使用虚拟主机时,您指定通用站点文档根目录,然后为单独的站点自定义安全策略。

使用一个简单的重定向指令,如下所示:

<VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/
<VirutalHost *:443> ServerName example.com ServerAlias www.example.com

更详细地说,所有这些都非常简单: 

  • VirtualHost *:80”:侦听您指定域的 80 端口 (HTTP) 上的连接 
  • VirtualHost *:443”:侦听 443 端口 (HTTPS) 上的连接 
  • 将“ServerName”和“ServerAlias”替换为您的域名
  • “永久重定向/https://example.com/”可以将流量重定向到 HTTPS 站点。 

重新启动您的服务器。

使用.htaccess 重定向

如果您使用 .htaccess 进行重定向,您将需要 mod_rewrite 模块——但别担心,这是大多数服务器上的默认设置。 

只需打开您的根 .htaccess 文件并添加以下代码:

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://example.com/$ [L,R=301]

让我们深入了解一下:

  • RewriteEngine On”:启用重写 
  • RewriteCond %{HTTPS} off”:检查 HTTP 连接
  • RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]”:这将 HTTP 重定向到带有 301 状态代码的 HTTPS。只要确保您将域名放在“示例”所在的位置! 

使用 .htaccess 重定向的好处是您无需重新启动任何内容即可生效。 

附录:HTTP 状态码

什么是 HTTP 状态代码?

每次您请求网页时,服务器都会返回一个 3 位数代码。它们会告诉您服务器如何处理请求。除非出现问题,否则您不会注意到它们。

不同的代码会告诉你事情是可行的、边缘的还是绝对禁止的。 

如果您是网站的所有者或开发人员,了解状态代码对于您排除和修复网站上潜在配置问题的能力至关重要。

要在使用 Firefox 或 Chrome 浏览时查看代码,可以使用浏览器扩展程序来显示每个请求的中继代码。

以下是状态码的大致分类:

  • 100s:信息代码:服务器确认浏览器发起的请求并正在处理它(100-199)。
  • 200s:成功代码:请求接收、理解、处理和预期信息中继到浏览器(200-299)。
  • 300s:重定向代码:不同的目的地已被请求的资源替代;可能需要浏览器的进一步操作 (300–399)。 
  • 400s:客户端错误代码:未访问网站或页面;页面不可用或请求存在技术问题 (400–499)。
  • 500s:服务器错误代码:请求已被接受,但由于错误,服务器无法满足请求 (500-599)。

让我们更深入地了解各种类别: 

HTTP 100 状态代码

请求仍在进行中。

  • 100:继续。收到并接受请求的标头,准备接收请求正文。
  • 101:切换协议。您的浏览器请求升级的标头更改,服务器遵守。
  • 102:处理。请求已收到并正在处理中。尚无回应。
  • 103:早期提示。服务器提供了一些响应头,允许在加载响应的其余部分时预加载资源。

HTTP 200 状态代码 

请求成功,浏览器收到信息。

  • 200:一切OK。请求成功并由所使用的 HTTP 方法定义,如下例所示:

GET:获取的资源并位于消息正文中
HEAD:消息正文中的标头
POST 或 PUT:描述消息正文中发送的操作结果的资源
TRACE:消息正文包含收到的请求消息

  • 201:创建。请求已完成;创建了新资源。POST 请求后的典型响应。
  • 202:接受。浏览器请求已接受,仍在处理中。可能会成功,也可能不会。
  • 203:非权威信息。信息来自收到 200 ‘OK’ 状态代码的代理服务器。 
  • 204:无内容。请求已处理,但未发送任何内容。标题可能有用。
  • 205:重置内容。与 204 类似,但告诉用户重置文档视图。
  • 206:部分内容。如果您的浏览器使用“范围标头”,则此代码会通知您仅发送了一部分资源。
  • 226:使用即时通讯。服务器完成了一个GET请求;响应反映实例操作已被应用。

HTTP 300 状态代码

指示资源已被重新定位。这些代码提供有关在何处查找重定位内容的信息。

  • 300:多项选择。请求有多个可能的响应。浏览器/用户应选择其中之一。 
  • 301:永久移动。请求资源的 URL 已被永久更改。响应中给出了新的 URL。
  • 302:临时重定向。请求资源的 URL 已临时更改。将来可能会对 URL 进行进一步更改。因此,客户端在以后的请求中应该使用相同的 URI。
  • 303:见其他。服务器发送此响应以指示客户端通过 GET 请求在另一个 URL 上获取请求的资源。需要了解四种主要的 HTTP 请求方法。
  • 304:未修改。用于缓存目的。它告诉客户端缓存的资源没有改变。客户端可以继续使用相同缓存版本的响应,从而加快进程。
  • 307:临时重定向。这将替换 302 Found HTTP 响应代码,以便在资源临时移动到不同的 URL 时使用。在这种情况下,不得更改所使用的 HTTP 方法——如果使用了 POST,则必须再次使用 POST。 
  • 308:永久重定向。类似于 301 HTTP 响应代码;该资源现在永久位于另一个 URL,由 Location: HTTP 响应标头指定。

HTTP 400 状态代码

找不到网站或页面。页面不可用或请求存在技术问题。

  • 400:错误的请求。由于客户端错误,服务器无法响应。
  • 401:未经授权。客户端必须进行自我验证才能获得请求的响应
  • 402:需要付款。保留以备将来使用;很少使用,因为没有采用标准约定。
  • 403:禁止。客户缺乏对内容的访问权限;例如,可能需要密码。 
  • 404:未找到。在网络上非常普遍。网址无法识别;资源不存在。 
  • 405:方法不允许。主机服务器支持接收到的方法,但目标资源不支持,因为它已被禁用。 
  • 406:不可接受。请求的资源只能根据请求的接受头生成不可接受的内容。 
  • 407:需要代理身份验证。使用代理服务器时,您的浏览器必须进行身份验证才能继续。 
  • 408:请求超时。服务器想关闭空闲连接;请求未在超时前完全完成。有些服务器在断开连接前不发送任何消息。 
  • 409:冲突。您的请求与当时的资源/服务器冲突。 
  • 410:没了。请求的内容已从服务器上永久删除,不会恢复。 
  • 411:需要长度。请求被拒绝,因为内容长度标头字段没有按照服务器的要求进行定义。 
  • 412:前提条件失败。服务器未满足您浏览器的请求标头条件。 
  • 413:负载过大。您的请求大于服务器定义的限制。 
  • 414:URI 太长。请求太长,服务器无法处理。 
  • 415:不支持的媒体类型。服务器拒绝请求,因为它不支持所请求数据的媒体格式。 
  • 416:范围不满足。服务器无法返回您的请求;指定的范围标头字段可能超出 URI 数据的范围。 
  • 417:期望失败。服务器无法满足请求的预期标头字段要求。 
  • 421:错误的请求。服务器未配置为对此请求产生响应。 
  • 422:无法处理的实体。请求中的语义错误禁止服务器处理响应。 
  • 423:锁定。资源被锁定,无法访问。 
  • 424:依赖失败。由于先前的请求失败,请求失败。 
  • 425:太早。表示服务器不愿意处理可能重放的请求。 
  • 426:需要升级。服务器在当前协议下拒绝请求;发送指示可接受协议的升级标头。 
  • 428:需要先决条件。在指定条件之前,服务器无法处理请求。 
  • 429:请求过多。当用户在给定时间内发送了太多请求时,这是来自服务器的速率限制响应。 
  • 431: 请求头字段太大。请求中的头字段太大,服务器无法处理。 
  • 451:由于法律原因不可用。禁止服务器授予对所请求资源的访问权限;可能是官方审查的网页。 

HTTP 500 状态代码

请求已被接受,但由于错误,服务器无法满足请求 。

  • 500:内部服务器错误。
  • 501:服务器不支持或没有完成特定请求所需的要求。 这意味着需要修复用户客户端尝试访问的服务器。
  • 502:Web 服务器用作网关或代理服务器时收到了无效响应。
  • 503:对服务器的请求当前无法处理该操作,这可能是由于维护或服务器过载。
  • 504:网关超时。