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

iOS下如何阻止带查询参数的URL触发Universal Links应用跳转?

iOS Universal Links:仅无查询参数URL跳转APP的正确配置

这个场景是完全支持的,并非iOS/Safari的Bug,问题出在你之前的components规则写法不符合Apple的匹配逻辑。

先分析你之前的方案为什么无效:

  • 方案1:"?":"?*"的写法错误,Apple的规则中?字段是用来匹配查询参数的键值对,而非整个查询串的前缀,?*不属于合法的匹配语法,导致排除规则不生效。
  • 方案2:"?":""的写法不被官方规则认可,无法覆盖默认的?":"*(默认匹配任意查询参数),所以带参数的URL依然会被匹配。
  • 方案3:仅排除了含someparam的情况,但无法覆盖其他参数(比如anotherparam),同时"someparam":"?*"中的?*是无效写法,应该用*匹配任意参数值。

正确的配置方案

要实现仅无查询参数的/path触发APP跳转,正确的components规则应该先排除所有带查询参数的/path请求,再匹配无参数的情况:

"components": [
  {
    "/": "/path",
    "?": { "*": "*" },
    "exclude": true
  },
  {
    "/": "/path"
  }
]
  • 第一条规则:"?": { "*": "*" }表示匹配存在任意查询参数的/pathURL(*作为键匹配任意参数名,*作为值匹配任意参数值),加上exclude: true就会把这类URL排除在跳转范围外。
  • 第二条规则:匹配无查询参数的/path,触发APP跳转。

额外验证注意事项

  1. 确保apple-app-site-association文件的MIME类型为application/json,且放置在域名根目录或.well-known子目录下。
  2. 测试时尽量用Safari直接输入URL,或从第三方APP的文本链接跳转(部分场景如微信内的链接可能有特殊处理)。
  3. 可通过curl -v https://your-domain/.well-known/apple-app-site-association确认文件内容和响应头是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:05:22