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

WordPress中检测URL含指定字符串时页面重定向失效问题排查

排查WordPress重定向函数失效的问题

你的重定向函数失效主要有几个核心问题,下面逐一说明并给出修复方案:


问题1:发送重定向头后未终止脚本执行

发送Location重定向头后,必须立即终止脚本运行。如果没有exit()或die(),后续的WordPress核心代码可能输出内容,导致HTTP头被篡改,浏览器无法正常识别重定向指令。

问题2:使用相对URL存在兼容性风险

直接使用$_SERVER['REQUEST_URI']生成的相对路径,部分服务器或浏览器可能无法正确解析,导致重定向失败。建议使用WordPress内置函数生成绝对URL。


修复后的完整代码

function redirect_collateral() {
    if (strpos($_SERVER['REQUEST_URI'], "/resources/") !== false) {
        // 替换路径中的/resources/为空字符串
        $new_path = str_replace("/resources/", "", $_SERVER['REQUEST_URI']);
        // 生成站点绝对URL,避免相对路径问题
        $redirect_url = home_url($new_path);
        
        // 发送301永久重定向头(如需临时重定向可改为302)
        header("Location: $redirect_url", true, 301);
        // 立即终止脚本,确保重定向生效
        exit();
    }
}
add_action('init', 'redirect_collateral');

额外优化提示

  • 若需要不区分大小写匹配URL中的/resources/,可以把strpos()替换为stripos()。
  • 建议使用301状态码做永久重定向(利于SEO),如果是临时重定向可改为302。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:46:58