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

WordPress中能否根据访客来源网站对其进行重定向?

在WordPress中完全可以根据访客的来源网站(HTTP Referer)执行重定向操作,常见的实现方案有两种:

方案1:使用重定向插件实现

不需要写代码,适合非技术用户操作:

  • 大部分成熟的WordPress重定向插件都内置了Referer匹配规则,你只需要在插件的规则创建页选择「来源域名匹配」作为触发条件,设置对应要拦截的来源域名、匹配模式,再填写跳转目标地址保存即可。
  • 配置完成后建议清理站点缓存,避免缓存插件提前返回页面内容导致重定向规则不生效。
方案2:自定义代码实现

灵活度更高,不需要额外安装插件,你可以将以下代码添加到当前活跃主题的functions.php文件中,也可以通过自定义代码片段插件引入:

add_action('template_redirect', 'custom_referer_based_redirect');
function custom_referer_based_redirect() {
    // 跳过已登录的管理员/用户,避免影响后台操作和正常登录用户体验
    if (is_user_logged_in()) {
        return;
    }

    // 获取访客的来源地址
    $user_referer = isset($_SERVER['HTTP_REFERER']) ? sanitize_text_field($_SERVER['HTTP_REFERER']) : '';
    
    // 配置需要触发重定向的来源域名列表
    $blocked_referer_domains = [
        'example.com',
        'test-site.org'
    ];
    
    // 配置跳转目标页面地址
    $target_redirect_url = home_url('/target-page/');

    // 匹配来源域名,符合条件则执行跳转
    foreach ($blocked_referer_domains as $domain) {
        if (strpos($user_referer, $domain) !== false) {
            // 302为临时重定向,如需永久重定向可改为301
            wp_redirect($target_redirect_url, 302);
            exit;
        }
    }
}
  • 代码中的$blocked_referer_domains替换为你实际要匹配的来源域名,$target_redirect_url替换为对应的跳转地址即可。
  • 注意HTTP Referer可被用户通过隐私插件、浏览器自定义配置修改或隐藏,因此该规则无法覆盖所有来源符合条件的访客,仅适用于普通场景的重定向需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:51:00