分享笔记:

更新插件后网站的链接全都挂了

链接无效

这是 WordPress,特别是 WooCommerce,里一个非常常见又烦人的问题:每次更新插件、主题,甚至只是更新翻译文件之后,网站的链接突然就全都失效了,点什么都是 404 页面找不到。

为什么 WordPress 的固定链接会突然崩掉?

WordPress 用的是 .htaccess 文件(如果你的网站是在 Apache 服务器上),或者 NGINX 的重写规则,把那些看起来很友好的链接(比如 /wordpress/best-hosting/)转换成系统内部能识别的路径。

这些固定链接“挂掉”了,页面就会全都变成 404 错误,通常是以下几种原因:

  • WordPress 的重写规则和你现在用的插件、主题或者某些设置不一致了。

  • .htaccess 文件没能正确更新,甚至可能被破坏了。

  • 更新插件(尤其是像 WooCommerceSEO 插件、缓存多语言插件)或者主题、翻译文件后,有些规则变了或者需要新的规则,但 WordPress 并不会总是自动处理好这些。

  • 如果你还原了网站备份、迁移了网站、换了域名或者改了文件夹路径,也可能导致这些规则错乱,不再同步。

反正只要有大改动,固定链接就有可能抽风。

什么导致链接出问题?

下面这些情况,是最常见的问题:

  • 插件或主题添加了自定义内容类型或分类法:比如 WooCommerce 会添加“产品”、”产品分类”这些新的类型和链接结构。

  • 更改了固定链接设置:比如你改了产品或分类页面的 URL 格式。

  • 多语言插件(像 WPML)或 SEO 插件:这类插件会对 URL 做各种操作,容易出问题。

  • 缓存插件:有些会改动或清空 .htaccess 文件,导致重写规则丢失。

  • 网站迁移、还原备份或搬服务器:这类操作容易导致链接配置不一致。

  • .htaccess 文件权限不对:如果 WordPress 没权限修改这个文件,就不能更新重写规则。

怎么解决 WordPress 更新后出现的 404 错误问题?

其实大多数情况下,这种问题的解决办法很简单:重新生成固定链接(permalinks)。因为有时候 WordPress 并不会自动察觉那些变化。

最快速、最简单的方法:

  1. 登录你的 WordPress 后台;

  2. 进入菜单「设置 → 固定链接」;

  3. 不用改任何东西,直接点击页面底部的「保存更改」。

这个操作会强制 WordPress 重新生成重写规则,把 .htaccess 文件更新一遍。通常这样做之后,链接问题(75%)就能恢复正常了。

wordpress保存固定链接设置

这个问题能彻底避免吗?

说实话,完全不发生这种错误几乎不可能,但你可以做一些事,来减少它发生的机率:

  • 检查 .htaccess 文件权限:确保 WordPress 有权限写入它。哪怕是暂时的,在更新或修改设置的时候也要能写。

  • 如果用的是 NGINX:那就要自己确认 nginx.conf 里的 rewrite 规则配置得当,WordPress 不会自动改它。

  • 只用必要的插件和主题,并保持更新:越少插件,冲突越少,出错概率也就越低。

  • 避免使用多个功能重复的插件:比如别装好几个 SEO、缓存、多语言插件,这类插件改 URL 的可能性高,互相打架也多。

  • 检查安全插件或自定义代码的设置:有些安全措施可能会阻止 .htaccess 被写入,间接导致固定链接失效。

为笔记评分

平均评分 5 / 5. 摘星者: 2

有疑问?留个言吧!

更多结果...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
?>

更多结果...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors