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

Webflow跳转时如何隐藏URL中的查询字符串且保留访问追踪功能?

你之前写的代码仅完成了URL字符串的切割操作,没有调用浏览器API修改地址栏的实际展示内容,因此不会生效。可参考以下三种可行方案:

方案1:保留原有重定向规则+历史记录API替换(改动最小)

  • 保持你现有的Webflow 301重定向规则不变,重定向依然携带key查询参数
  • 将以下代码添加到Webflow站点全局设置的</body>标签前自定义代码区域:
if (window.location.search.includes('key=')) {
  // 提取来源参数存入会话存储,供后续追踪逻辑调用
  const redirectSource = new URLSearchParams(window.location.search).get('key');
  sessionStorage.setItem('redirect_source', redirectSource);
  // 替换当前浏览器历史记录,无刷新清除地址栏查询参数
  window.history.replaceState({}, document.title, window.location.pathname);
}
  • 后续做数据追踪时直接从sessionStorage.getItem('redirect_source')读取来源值即可。

方案2:调整重定向规则,从源头取消带参跳转

  • 修改Webflow重定向规则:旧路径/mexico直接301跳转至example.com,不携带任何查询参数
  • 在全局自定义代码中添加来源识别逻辑:
// 通过页面来源判断是否从旧路径跳转
if (document.referrer.includes('/mexico')) {
  sessionStorage.setItem('redirect_source', 'mexico');
}
// 存在多个旧路径时可扩展多个判断分支

该方案从重定向环节就避免了参数出现在地址栏,逻辑更简洁。

方案3:前端接管跳转逻辑(适合多旧路径批量处理)

如果存在大量类似/mexico的旧路径需要处理,可不用逐条配置Webflow重定向规则:

  • 关闭之前配置的单条301重定向规则
  • 在Webflow全局</head>标签前的自定义代码区域添加如下逻辑:
if (window.location.pathname === '/mexico') {
  sessionStorage.setItem('redirect_source', 'mexico');
  // 直接跳转至主页,全程不会出现查询参数
  window.location.href = '/';
}
// 批量处理可将旧路径存入数组做循环判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:57:04