You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义子分类Slug后对应文章无法显示的问题求助

解决WordPress修改子分类Slug后文章无法显示的问题

我来帮你搞定这个头疼的问题!当你把父分类ABC下的子分类PQR的Slug改成John后,文章出现无法访问的情况,基本都是WordPress的固定链接重写规则没跟上,或者缓存在搞鬼。下面是几个一步步就能解决的方案:

1. 先刷新固定链接重写规则(最常用的解决方法)

这是90%的情况下能直接搞定的步骤,操作超简单:

  • 登录WordPress后台,进入「设置」→「固定链接」页面
  • 不用修改任何现有设置,直接点击页面底部的「保存更改」按钮
  • 这个操作会强制WordPress重新生成新的重写规则,更新服务器上的.htaccess文件(如果服务器允许写入的话),让新的分类Slug路径生效

2. 手动检查/更新.htaccess文件(如果第一步没用)

如果刷新固定链接后还是不行,大概率是.htaccess文件没被正确更新,或者权限不足:

  • 如果你用的是Apache服务器,找到网站根目录下的.htaccess文件,确保它有写入权限(一般设置为644即可)
  • 如果权限没问题但规则没更新,你可以手动替换成WordPress默认的重写规则:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
  • 要是你用的是Nginx服务器,需要在站点的Nginx配置文件里确认有正确的重写规则,一般是这行:try_files $uri $uri/ /index.php?$args;,修改后记得重启Nginx服务

3. 添加旧Slug到新Slug的重定向(可选但推荐)

为了避免之前的旧链接(比如/category/ABC/PQR/post_name)失效,影响用户访问和SEO,最好添加永久重定向:

  • 你可以用代码片段实现,把下面的代码添加到当前主题的functions.php文件里(记得先备份主题文件):
add_action('template_redirect', 'redirect_old_pqr_category');
function redirect_old_pqr_category() {
    // 匹配旧的分类路径,跳转到新路径
    if (preg_match('/^category\/ABC\/PQR\/(.*)$/', $_SERVER['REQUEST_URI'], $matches)) {
        wp_redirect(home_url('/category/ABC/John/' . $matches[1]), 301);
        exit;
    }
}
  • 或者更简单的方式,安装「Redirection」这类重定向插件,可视化添加旧路径到新路径的301重定向规则

4. 清除所有缓存

如果你的网站用了缓存插件(比如WP Rocket、W3 Total Cache),或者服务器有自带的缓存(比如CDN、服务器端缓存),一定要彻底清除缓存。缓存会保留旧的路径映射,导致新Slug的路径无法被正确识别

内容的提问来源于stack exchange,提问作者Rupesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:21:26