如何将HTTP重定向到HTTPS教程(2023年最新)

随笔3个月前发布 郭建伟
39 0 0

本指南将深入探讨如何从 HTTP 重定向到 HTTPS。我们将了解什么是 HTTP 和 HTTPS、重定向为何如此重要,以及如何通过域名托管服务商设置重定向。

以下是本指南的内容提要:

[lwptoc depth=”1″ numeration=”decimalnested” numerationSuffix=”none” title=”” toggle=”0″]

什么是 HTTP 和 HTTPS?

HTTP 和 HTTPS 都是传输协议的类型。HTTP(或超文本传输​​协议)是我们用来从浏览器访问网络的传统协议。 

作为用户,您可以使用 HTTP 通过将其作为前缀添加到 Web 地址来创建请求,因此,您会看到您正在寻找的内容。 

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

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

如何将HTTP重定向到HTTPS教程(2023年最新)

然后在 .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。 

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

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

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步

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

如何将HTTP重定向到HTTPS教程(2023年最新)” width=”701″ height=”337″ loading=”lazy”>
点击申请!

第2步

在您的 IIS 仪表板上,右键单击您的站点,然后选择探索。
打开 web.config 文件。 
添加以下代码块(如果它还没有)

<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 站点重定向到 HTTPS,为什么它如此重要,以及如何通过安全站点赢得用户的信任。 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...