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

WordPress如何通过functions.php钩子实现指定路径404重定向

WordPress 指定URL直接返回404页面的实现方案

不需要安装额外插件,使用WordPress原生的template_redirect钩子即可实现,操作步骤如下:

  • 打开自定义主题根目录下的functions.php文件,将以下代码粘贴到文件末尾(如果文件末尾存在?>闭合标签,请将代码粘贴到该标签之前):
add_action('template_redirect', 'custom_url_force_404');
function custom_url_force_404() {
    // 配置需要返回404的URL路径,填写域名后的路径部分,开头保留斜杠
    $force_404_paths = [
        '/page/sub-page',
        // 需添加多个路径时按上述格式续写即可
        '/test/demo-page',
    ];
    // 获取当前用户访问的URI路径
    $current_uri = $_SERVER['REQUEST_URI'];

    // 匹配到目标路径时触发404逻辑
    if (in_array($current_uri, $force_404_paths)) {
        global $wp_query;
        // 将当前请求标记为404
        $wp_query->set_404();
        // 输出HTTP 404状态码
        status_header(404);
        // 加载你已创建的主题404.php模板,地址栏不会发生跳转
        get_template_part('404');
        exit;
    }
}
  • 特殊场景适配:
    • 如果需要模糊匹配某个路径前缀下的所有页面(比如所有/page/开头的路径都返回404),可以将上方的判断条件替换为:
      // PHP 8.0及以上版本用这个
      if (str_starts_with($current_uri, '/page/'))
      // PHP 8.0以下版本用这个
      if (strpos($current_uri, '/page/') === 0)
      
    • 配置完成后清空WordPress站点缓存、浏览器缓存后再测试,避免旧缓存影响验证效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:18:04