您是否曾经点击过链接,结果却看到 404 页面,告知您正在寻找的内容已被移动?这很烦人,对吧?这就是为什么您要确保这种情况永远不会发生在您的网站访问者身上。
如果您更改了网站网址,甚至更改了网站上某个页面的网址,只需将访问者重定向到新网址,即可确保访问者仍能访问该内容。这正是 301 重定向的用途。
首先我们来看一下301重定向中的“301”到底是什么意思。
什么是 HTTP 状态代码
简单来说,301 是一个 HTTP 响应状态代码,表示我们请求的页面已永久移至其他地方。301 只是众多 HTTP 响应中的一个,它告诉我们 URL 发生了什么。
你看,当你想要访问某个页面时,你的浏览器会向该网站的服务器发送请求。服务器可以向浏览器发送五类 HTTP 响应状态代码:1xx(信息响应)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。
检查您自己网站上的 HTTP 代码的最快方法是按 F12 按钮,然后检查“网络”选项卡。
例如,如果一切顺利,服务器将以 2xx HTTP 状态代码进行响应,这意味着所需的内容将成功提供给访问者。

至于3xx HTTP 响应代码,它们表示页面已被删除,用户将被重定向到新的 URL。重定向有几种类型。最常用的是:
- 301 – 永久移动
- 302 – 暂时移动,例如进行 A/B 测试
- 307 – 暂时移动,例如网站维护期间
- Meta Refresh——在一定时间段后自动重新加载当前页面的重定向;以下消息是元刷新重定向的示例——如果您在五秒内没有被重定向,请单击此处。
为什么你的 WordPress 网站需要 301 重定向
如果您决定使用 301 重定向,所有现有流量都将从旧 URL 无缝转移到新 URL。您不会失去任何潜在客户或潜在转化。事实上,2016 年,谷歌的一位网站管理员 Gary Illyes证实 3xx 重定向不会丢失 PageRank,这意味着它们与原始页面或帖子一样强大。
您可能想要使用 301 重定向的一些最常见原因如下:
- 您想删除页面或帖子
- 您想更改永久链接
- 您想将网站从 HTTP 迁移到 HTTPS
- 或者你正在考虑将网站迁移到新域名
您应该保持 301 重定向活跃多长时间?
谷歌网站管理员 John Muller在 2015 年的一次聚会中讨论了301 重定向应保持多长时间的问题。他说,理论上,你可以永远保留 301 重定向,因为重定向本身是永久性的。但值得记住的是,谷歌(和其他搜索引擎)需要一段时间才能识别出网站已被移动。Muller 先生的建议是将重定向保留至少一年,甚至可能更长时间,具体取决于你的情况。如果你提前删除 301 重定向,谷歌可能会继续显示旧 URL,尤其是当网络上存在指向该 URL 的外部链接时。
如何使用 .htaccess 在 WordPress 中设置 301 重定向
.htaccess 文件是一个配置文件,也是 WordPress 网站的核心文件之一。毋庸置疑,对该文件进行的任何更改都应极其谨慎。
.htaccess 文件告诉服务器如何处理您网站上的某些内容。一个网站可以有多个 .htaccess 文件,但我们感兴趣的主要文件位于您的 WordPress 网站的根目录或中心目录中。
要在您的网站上找到 .htaccess 文件并访问它,您需要使用 FTP 客户端登录到您的服务器。如果您不确定如何操作,请查看我们的FTP 初学者指南。文件名旁边的点表示该文件是隐藏的。请注意,此文件默认是隐藏的。要找到它,请编辑 FTP 客户端中的设置,使其显示隐藏文件。
现在您可以看到主 .htaccess 文件,在进行任何编辑之前,请确保备份其内容。为此,右键单击该文件并选择下载(根据您的 FTP 客户端,您可能会看到不同的选项,例如添加到下载列表等)。您也可以复制该文件并将其粘贴到您的计算机上。
要开始更改文件,再次右键单击它并选择编辑。

将页面或帖子重定向到另一个页面或帖子
首先,让我们看看如何为同一域名上的帖子或页面创建 301 重定向。在这种情况下,您需要将其添加到 .htaccess 文件中:
重定向 301 旧网址 新网址
先添加旧 URL,然后再添加新 URL。您可以根据需要进行多次重定向,只需复制此代码并添加相关 URL 即可。
将您的网站从旧域名重定向到新域名
当您想将您的网站移动到新域名并为其创建 301 重定向时,您需要使用以下代码编辑旧域名的 .htaccess 文件:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule (.*)$ https://www.newdomain.com/\ [R=301,L]
只需确保更改 URL 以匹配您的新旧域名即可。
从 HTTP 重定向到 HTTPS
为了确保网站安全并保护用户,您应该在 HTTPS 下运行它并为其添加有效的 SSL 证书。如果您想将网站从 HTTP 迁移到 HTTPS,您还必须将流量从前者重定向到后者。最好的方法是使用 301 重定向,正如 Google 的 John Mueller 在此视频中所建议的那样。要创建 301 重定向,请将以下代码添加到主 .htaccess 文件:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/\ [R,L]
再次,只需更改 URL 以匹配您自己的 URL。

我写了份一万多个字的Wordpress 建站指南