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

WordPress产品分类旧永久链接仍生效,如何设置使其返回404错误?

解决WordPress旧分类永久链接仍可访问的问题
  • 通过.htaccess规则拦截旧链接
    在.htaccess文件的# BEGIN WordPress代码块之前,添加以下规则,直接让旧格式的链接返回404:

    # 拦截不含/furniture/前缀的旧分类链接
    RewriteRule ^c/([^/]+)/([^/]+)/$ - [R=404,L]
    # 若存在更深层级的旧链接,可补充规则:
    # RewriteRule ^c/([^/]+)/([^/]+)/([^/]+)/$ - [R=404,L]
    

    添加后保存文件,刷新网站缓存即可生效。

  • 用WordPress钩子强制验证链接格式
    在主题的functions.php文件中插入以下代码,检查当前访问的分类链接是否符合新格式,不符合则返回404页面:

    add_action('template_redirect', function() {
        global $wp;
        $current_path = $wp->request;
        // 匹配旧链接路径:以c/开头但不包含c/furniture/
        if (str_starts_with($current_path, 'c/') && !str_contains($current_path, 'c/furniture/')) {
            if (is_product_category()) { // 针对WooCommerce产品分类
                status_header(404);
                include(get_query_template('404'));
                exit;
            }
        }
    });
    
  • 清除分类的历史别名
    进入后台的产品分类编辑页面,查看「别名」设置项,若存在旧的slug记录(比如living-room-furniture),删除这些旧别名,仅保留新格式对应的完整slug。

  • 禁用WordPress自动重定向功能
    WordPress默认会自动解析并重定向相似的旧链接,可通过以下代码禁用该功能:

    remove_action('template_redirect', 'wp_old_slug_redirect');
    

    将代码添加到主题functions.php或自定义插件中即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:43:33