设置301重定向的方法在 .htaccess 文件中的实现
在 .htaccess 文件(一个用于配置 Apache 服务器上托管的网站的文本文件)中实现 301 重定向是一种有用的方法,可以永久重定向一个 URL 到另一个 URL,同时保留排名权威性。
使用 .htaccess 文件实现 301 重定向可以让您执行复杂的模式,如基于模式的重定向(使用单个规则自动匹配和转发类似 URL 的重定向)。
何时使用 301 重定向
每当您需要将用户发送到不同的页面并保留流量和 SEO 效果时,都使用 301 重定向。
301 重定向最常见的应用场景是当您合并重复页面到一个主页面和当您从 HTTP 迁移到 HTTPS 时。
以下是一些其他场景:
修复关键词 params
实现 301 重定向可以成为解决关键词 params 的好方法:当多个页面竞争同一个关键词时,它可以损害您的排名。
Meyer Digital Media 的 CEO Alex Meyerhans 建议在其他优化工作未生效时,将内容合并到一个页面,并使用 301 重定向将旧页面指向新页面:
有时可以通过在页面上进行优化来解决关键词 params 问题来禁用不应该排名的页面。并且,大多数时候,这是解决关键词 params 问题的方法。但有时它不会。然后,合并内容进入所需的页面,并 301 重定向旧页面。
保留来自过时页面的 SEO
使用 301 重定向将流量和搜索引擎从具有强大链接的过时页面重定向到新页面,有助于维护原始页面的排名。
SEO 专家 Artturi Jalli 分享了一个示例:
如果您有一个「黑色星期五 2024」页面,现在专注于「黑色星期五 2025」,则 301 重定向旧的到新的,以确保链接权重和连续性。
改善标签或类别页面的用户体验和 SEO
重定向默认的标签/类别页面到精心策划的登录页面可以改善 SEO 和用户体验(UX)。
Monochrome Marketing 的合伙人和 FutureFund 的 CMO Cameron Martel 建议这样做:
标签/类别通常在网站 UX 中突出(文章顶部、博客订阅源等),但通常会导致优化不佳且排名不佳的体验。通过 301 重定向这些 URL 到自定义登录页面,我们可以更好地控制用户体验和内部流量导向登录页面。
删除页面
如果您从网站中删除了一页面,则 301 重定向会将访问者发送到相关页面,以帮助维护用户体验。
但是,如果没有相关页面可以将访问者重定向到,最好提供 404 或 410,而不是误导 Google 和用户。
如何使用托管面板设置 .htaccess 文件中的 301 重定向
设置 301 重定向有两种常见方法:通过您的托管面板(如 cPanel)或使用文件传输协议(FTP)客户端。后者更为高级。
我们将指导您完成使用 cPanel 的过程。
1. 找到 .htaccess 文件
.htaccess 文件通常位于网站的根文件夹中,即主目录。
在 cPanel 中,单击「文件管理器」。
找到并打开您的网站的根文件夹(通常标题为「public_html」)。
找到您的 .htaccess 文件,右键单击,然后选择「编辑」。
2. 编辑和保存 .htaccess 文件
重定向仅在重写引擎(Apache 中允许重定向的功能)启用的情况下才有效。
查找以下代码,位于文件的顶部附近。如果没有,则将其添加到您的 .htaccess 文件中:
RewriteEngine On
然后,在「RewriteEngine On」下方添加重定向规则(稍后将介绍几个选项)。保存 .htaccess 文件以应用您的重定向。
如何使用 WordPress 插件设置 .htaccess 文件中的 301 重定向
您可以使用插件直接在 WordPress 中访问 .htaccess 文件并设置重定向,前提是您的网站运行在 Apache 上。
我们将展示如何使用 Yoast SEO 插件执行此操作。
1. 安装 Yoast
转到您的插件并搜索「Yoast」。
单击「安装」并激活它。
2. 查找 .htaccess 文件
Yoast 允许您在 WordPress仪表板中访问 .htaccess 文件。
转到「Yoast SEO」,选择「工具」,然后单击「文件编辑器」。
3. 编辑和保存 .htaccess 文件
检查重写引擎是否已启用,如果没有,请将以下代码添加到您的 .htaccess 文件中:
RewriteEngine On
在 标签之前添加您的重定向规则。您可以在此代码块内添加多个规则。
完成后,单击「保存更改到 .htaccess」。
常见的 301 重定向规则
将以下重定向规则添加到您的 .htaccess 文件中以实现 301 重定向。记得用您自己的 URL 替换占位符 URL。
重定向单个 URL
如果您需要重定向一个页面到另一个页面,请将此 301 重定向添加到您的 .htaccess 文件中。
RewriteRule ^old-page/?$ https://www.yourdomain.com/new-page/ [R=301,L]
重定向单个文件夹
当您需要重定向整个网站部分(如将「/blog」重定向到「/news」)时,使用此规则。
RewriteRule ^blog/(.*)$ /news/$1 [R=301,L]
重定向 WWW 到非 WWW URL
重定向 WWW 到非 WWW URL 有助于防止重复内容问题,以确保搜索引擎不会将带有相同内容的 WWW 和非 WWW 版本视为单独的页面。
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com [NC]
RewriteRule ^(.*) https://yourdomain.com/$1 [R=301, L]
重定向网站到新域名
使用此 .htaccess 规则将您的整个网站重定向到另一个域名。
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]
重定向 HTTP 到 HTTPS
HTTPS(HTTP 的加密版本)是排名因素,强制使用 HTTPS 可以帮助保护您的网站并改善您的 SEO。
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]
如何检查您的 301 重定向和解决问题
正确的 301 重定向可以帮助您避免重定向链和循环、断开的链接以及重定向类型不正确的问题(如意外使用 302 重定向),从而带