如何重定向 WordPress 页面(有和没有插件)
已发表: 2021-08-07您想使用适合初学者的方法重定向您网站上的页面吗? 我们已经为您服务了。 在本指南中,您将学习如何使用和不使用插件重定向 WordPress 页面。
WordPress中的重定向类型
有几种类型的重定向:
- 301 :这是最流行的重定向。 它也称为永久重定向。 当您使用这种类型的重定向时,搜索引擎将知道目标页面已被永久移动,并且它们将传递所有链接好处。 这可以帮助新的目的地链接具有更好的排名机会。
- 302 :这用于临时重定向。 它告诉搜索引擎目标链接会暂时更改,但不会永久更改。 当谈到链接果汁和排名时,我们不能指望这种重定向有太多的结果。
- 303 : 303 重定向也称为“查看其他”,表示该页面已被临时替换,可在不同位置使用。 在大多数情况下,带有支付表单的页面或与个人数据相关的页面使用这种类型的重定向。 303 重定向的好处是网站管理员可以阻止页面刷新。
- 307 :这种重定向与 303 类似,但它被称为“临时重定向”。 它表示用户尝试访问的页面已临时移动到不同的 URL。
- 308 :与 301 一起,这是另一种类型的永久重定向。 当您重组网站或将其从 HTTP 迁移到 HTTPS 时,这些类型的重定向是一个不错的选择,我们将在本文后面看到。
现在我们更好地了解了不同类型的重定向,让我们看看在 WordPress 中重定向页面的好处。
为什么要重定向 WordPress 页面?
在几种情况下,您可能需要重定向 WordPress 页面:
- 更改的域名:如果您更改了主域名,您的所有内部链接都将指向旧域和帖子。 处理这种情况的最佳方法是设置重定向。
- 为了更好的搜索引擎优化:在线企业依靠搜索引擎优化来获得更好的销售、转化和收入。 如果您的永久链接没有做好 SEO 准备,您应该编辑它。 当您编辑永久链接时,您需要重定向,因此用户不会在前端看到 404 not found 页面。
- 您删除了一些页面:删除在搜索引擎上排名的页面是一种不好的做法。 而且如果要删除已发布的页面或帖子,则需要配置重定向,这样用户就不会遇到 404 页面。
- 页面需要更新:当您重新设计页面或运行 A/B 测试时,您可以启用维护模式或设置重定向选项。 这是向访问者显示内容并避免向他们显示正在建设中的页面的好习惯。
- 经营限时交易:当您经营 WooCommerce 商店并销售实体或数字产品时,您可能会提供限时交易作为营销策略。 交易结束后,您无需保留该页面。 我们建议您将页面重定向到原始产品页面,而不是删除它。
无论您如何努力以及设置了多少重定向,您的用户最终都会在某个时候看到 404 页面。 为了充分利用它,您应该对其进行自定义。 有关这方面的更多信息,请查看我们关于如何在 WordPress 中编辑 404 页面的指南。
既然您知道为什么重定向 WordPress 页面是一种很好的做法,那么让我们来学习如何去做。
如何重定向 WordPress 页面
重定向 WordPress 页面有两种主要方法:
- 带插件(对初学者友好)
- 以编程方式(高级)
让我们看看两者,因此您可以从下面选择您喜欢的方法。
1) 使用插件重定向 WordPress 页面
插件是自定义 WordPress 安装最有效和最直接的方式。 如果您正在寻找重定向页面的工具,请查看重定向。 它是最受欢迎的重定向插件之一,而且是免费的。
1.1) 安装重定向
首先,安装插件。 在您的 WordPress 仪表板中,转到Plugins > Add New ,然后搜索 Redirection。 找到插件后,安装并激活它。
之后,您将在 WordPress 工具部分下看到插件的设置。
1.2) 设置
设置页面为您提供有关如何使用插件的说明,并描述了一些最有用的功能。 阅读后,单击“开始设置”按钮。
然后,您将看到有关永久链接、所有重定向和 404 错误的日志以及这些重定向和 404 错误的 IP 信息的一些基本配置选项。 选择您想要的选项,然后按Continue Setup 。
该插件现在将测试 REST API 功能。 之后,完成设置。
1.3) 开始使用重定向
之后,您将看到插件的仪表板,您将在其中看到两个部分:
- 重定向的 URL
- 添加新的重定向
对于本教程,我们将添加一个新的重定向。 要创建重定向,您需要:
- 源 URL(来自 URL)
- 目标 URL(到 URL)
例如,如果您需要重定向来自旧站点的流量,则www.example.com/oldurl将是源 URL,而在目标 URL 中,您将输入新 URL ( www.example.com/newurl) 。
您无需在提交框中输入您的域名。 相反,您可以简单地输入 / 之后的部分,它可以是页面的永久链接。 然后,完成 from 和 to URL 的重定向选项,然后按Add Redirect 。
这样,您可以设置任何您想要的重定向。 如果您是高级用户,请单击齿轮图标,您将看到一些额外的自定义选项。
例如,您可以选择重定向的类型。 默认情况下,插件将添加 301 重定向,但您可以从下拉列表中更改 HTTP 代码。 完成后,保存更改,在仪表板中,您将看到所有重定向的 URL、它们的 HTTP 代码和 URL 命中。
而已! 如您所见,这种简单的方法允许您在几分钟内重定向 WordPress 页面。
另一方面,如果您使用 Rank Math 之类的 SEO 插件,您将拥有内置的重定向功能。 大多数 SEO 插件默认都带有重定向功能。 只需检查插件的设置页面/模块即可启用或禁用它。
2)以编程方式重定向页面
如果您不想安装第三方工具并喜欢编码,还有另一种重定向页面的方法。 在本节中,我们将向您展示如何通过编辑functions.php和.htaccess文件来重定向 WordPress 页面。
注意:由于我们将编辑一些主题文件和 WordPress 核心文件,请确保在继续之前生成完整的网站备份。 如果您不知道如何创建备份,请查看我们的分步指南。 此外,请确保您使用的是子主题。 您可以创建一个或使用专用插件。
2.1) Functions.php 文件
要修改我们的functions.php,我们将使用一个名为Code Snippets 的特定于站点的插件。 它是此类任务的最佳工具之一,而且是免费的。
首先,在您的站点上安装并激活插件。
然后,转到插件的设置并按Add New创建一个新片段。
命名您的代码段,然后粘贴以下代码段。
函数 quadlayers_redirect() {
if (isset($_SERVER['HTTPS']) &&
($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$protocol = 'https://';
}
别的 {
$protocol = 'http://';
}
$currenturl = $协议。 $_SERVER['HTTP_HOST'] 。 $_SERVER['REQUEST_URI'];
$currenturl_relative = wp_make_link_relative($currenturl);
开关($currenturl_relative){
案例“/老蛞蝓”:
$urlto = home_url('/new-slug');
休息;
默认:
返回;
}
if ($currenturl != $urlto)
退出(wp_redirect($urlto));
}
add_action('template_redirect', 'quadlayers_redirect');
自定义片段
让我们仔细看看代码以了解它的作用。
如您所见,我们正在使用一个名为
quadlayers_redirect()
添加重定向,我们尽可能使用HTTPS协议。
您需要检查的下一件事是此部分:
开关($currenturl_relative){
案例“/老蛞蝓”:
$urlto = home_url('/new-slug');
休息;
默认:
返回;
}
这些是旧的和新的蛞蝓。 这些值将充当您的起始 URL 和终止 URL,因此您应该自定义它们。 例如,如果您将用户从/blogging-tips重定向到/blog/tips ,则 from 将是/blogging-tips ,而 to 将是/blog/tips 。
因此,现在如果您将这些 slug 添加到代码中,它将如下所示:
函数 quadlayers_redirect() {
if (isset($_SERVER['HTTPS']) &&
($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$protocol = 'https://';
}
别的 {
$protocol = 'http://';
}
$currenturl = $协议。 $_SERVER['HTTP_HOST'] 。 $_SERVER['REQUEST_URI'];
$currenturl_relative = wp_make_link_relative($currenturl);
开关($currenturl_relative){
案例“/博客提示”:
$urlto = home_url('/blog/tips');
休息;
默认:
返回;
}
if ($currenturl != $urlto)
退出(wp_redirect($urlto));
}
add_action('template_redirect', 'quadlayers_redirect');
使用您自己的 slug 自定义代码后,保存更改并激活代码段。 从现在开始,访问者将被重定向到目标链接。
添加多个重定向
上面,我们向您展示了如何在 WordPress 中重定向页面。 但是,如果您想向页面添加多个重定向怎么办? 您可以通过在代码段中包含 if 条件来添加各种选项。 例如,看看下面的代码片段:
案例“/第一网址”:
$urlto = home_url('/first-to' );
休息;
案例“/第二个网址”:
$urlto = home_url('/second-to' );
休息;
您可以将其添加到原始代码段中,如下所示:
函数 quadlayers_redirect() {
if (isset($_SERVER['HTTPS']) &&
($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$protocol = 'https://';
}
别的 {
$protocol = 'http://';
}
$currenturl = $协议。 $_SERVER['HTTP_HOST'] 。 $_SERVER['REQUEST_URI'];
$currenturl_relative = wp_make_link_relative($currenturl);
开关($currenturl_relative){
案例“/博客提示”:
$urlto = home_url('/blog/tips');
休息;
案例“/第二个网址”:
$urlto = home_url('/second-to' );
休息;
案例“/第三个网址”:
$urlto = home_url('/third-to' );
休息;
默认:
返回;
}
if ($currenturl != $urlto)
退出(wp_redirect($urlto));
}
add_action('template_redirect', 'quadlayers_redirect');
确保在修改后更新代码段。 这样,您可以使用代码片段插件来重定向 WordPress 页面。
现在让我们看看如何通过 htaccess 文件来做同样的事情。
2.2) .htaccess 文件
.htaccess 文件是任何 WordPress 安装最重要的文件之一,因此在编辑它之前,我们建议您将其下载到本地计算机并保留为硬拷贝。
现在让我们看看如何使用.htaccess文件方法重定向 WordPress 页面。
首先,您需要访问.htaccess文件。 您可以通过使用 FTP 客户端(例如 FileZilla)或使用专用文件管理器来完成此操作。 如果您有权访问 WordPress 仪表板,则使用文件管理器是最简单的选择。 另一方面,如果您无权访问该站点、被锁定或不想安装第三方工具,请尝试使用 FTP 方法。
安装和激活插件
在本教程中,我们将使用一个名为 File Manager 的插件。 只需转到您的仪表板 > Plugins > Add New ,查找插件,安装并激活它。
激活后,运行插件,您将在左侧菜单中看到设置。
默认情况下,您将在 WordPress 核心中看到.htaccess文件。 如前所述,在开始该过程之前下载它是一个好主意,因此右键单击该文件并按Download 。
编辑 .htaccess 文件
现在,该插件会将文件下载到您的本地计算机。 之后,选择代码编辑器选项开始编辑和自定义.htaccess文件。
要在您的网站上设置 301 重定向,请复制以下代码。
重定向 301 /old-url http://www.example.com/new-url
当有人登陆旧网址(永久链接)时,他们将立即被重定向到新网址(slug)。 只需根据您的要求调整代码。 与我们在上面看到的类似,您可以使用if条件添加多个重定向选项。
只需粘贴代码并更新.htaccess文件。
而已! 现在,当有人在浏览器中输入旧 URL 时, .htaccess文件会将用户从旧 URL 重定向到新 URL。 您可以通过在浏览器中使用隐身窗口输入旧 URL 来测试它。
奖励:如何将 HTTP 和 WWW 重定向到 HTTPS
如果可能,最好将 HTTP 或 WWW 流量重定向到 HTTPS。 通过使用 HTTPS 协议,您可以确保收到的所有 Web 流量都经过加密,从而为您的网站增加了一层安全性。
要使用 HTTPS 协议,您需要 SSL 证书。 当您购买其中一个计划时,大多数网络托管公司都会提供由Let's Encrypt提供支持的免费 SSL 证书。 另一方面,如果您依靠 Cloudflare 之类的 CDN(内容交付网络)来提升性能,他们还将提供具有自动续订功能的免费 SSL 证书。
在本节中,我们将看到如何使用两种不同的方法将 HTTP 和 WWW 重定向到 HTTPS。
1) 云闪
Cloudflare 是数百万博主和企业使用的免费增值 CDN 服务。 好消息是,如果您使用 Cloudflare 并且需要将所有网站流量重定向到 HTTPS,则不需要任何额外的工具。
首先,登录您的 Cloudflare 帐户,然后在您的仪表板中,选择您需要编辑的网站。
然后,选择 SSL/TLS 选项并确保您已在您的域上启用 SSL 证书。
启用加密后,转到Edge Certificates选项卡。
向下滚动,直到您看到始终使用 HTTPS功能。 如果它被禁用,请将其打开。
而已! 从现在开始,当有人使用 HTTPS 或 WWW 输入您的网站地址时,Cloudflare 将处理它并使用 HTTPS 协议重定向用户。
这就是您可以使用 Cloudflare 进行重定向的方式。 如您所见,这非常简单,只需不到一分钟! 如果您有疑问或需要其他帮助,请联系 Cloudflare 的支持团队。
2) 编码方式
如果您不使用 CDN 并且需要手动进行重定向,则此部分适合您。 在这里,我们将向您展示如何使用一些片段将 HTTP 访问者重定向到 HTTPS。
为此,我们将编辑.htaccess文件。 如果您按照我们上面描述的步骤操作,您已经知道如何找到.htaccess文件并对其进行编辑。 找到.htaccess文件后,将以下代码粘贴到其中。
重写引擎开启
RewriteCond %{HTTPS} 关闭
重写规则 (.*) https://%{HTTP_HOST}%{REQUEST_URI}
在某些情况下,WordPress 或其他插件会将RewriteEngine On line 添加到.htaccess文件中。 如果您的 .htaccess 文件已经有该行,则不需要添加它。 然后,保存或更新文件。
而已! 从现在开始, .htaccess文件会将所有网站流量重定向到您网站的安全版本。 执行此操作时,请确保您的域上安装了活动的 SSL 证书。
如果您需要有关这方面的更多信息,请查看我们的分步指南,了解如何将 HTTP 和 WWW 重定向到 HTTPS。
如何修复混合内容错误
将网站从 HTTP 迁移到 HTTPS 后,您可能会在网站的前端发现一些混合内容错误。 这主要发生在您的站点同时基于 HTTP 和 HTTPS 协议提供文件时。 如果您遇到此问题,我们会为您提供快速解决方案。
通过使用真正简单的 SSL 免费插件,您可以修复混合内容错误。 进入 WordPress 仪表板后,安装并激活插件。
之后,转到 WordPress 设置页面下的 SSL 设置并启用混合内容修复程序选项。 默认情况下,它应该被启用,但值得一看以确保它已启用。
而已! 这将停止混合内容警告。
结论
总之,有不同类型的重定向,它们具有不同的功能,可以是临时的也可以是永久的。 重定向在以下情况下很重要:
- 更改域名时
- 如果你想提高你的 SEO
- 当您删除网站上的某些页面时
- 有一个页面需要更新
- 当您进行限时交易时
在本教程中,我们看到了重定向 WordPress 页面的两种主要方法:
- 使用插件
- 以编程方式
插件方法很简单,因此非常适合初学者。 另一方面,如果您喜欢编码,您还可以通过编程方式设置重定向。
最后,我们了解了如何将 WWW 和 HTTP 重定向到 HTTPS 以使您的站点更安全,以及如何修复混合内容错误。
您是否开始在您的网站上重定向页面? 你更喜欢哪种方法? 请在下面的评论中告诉我们。