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

iOS Universal Links路径区分求助:如何区分带参与不带参详情路径?

解决iOS Universal Links区分路径的问题

我太懂你遇到的这个坑了——Universal Links的路径匹配规则确实有点反直觉,核心问题在于它会完全忽略URL里的查询参数,这就导致你之前写的NOT /details?search=*根本起不到预期作用。系统匹配时会直接砍掉?search=xxx这部分,相当于你在排除所有/details开头的路径,自然所有相关链接都打不开了。

要区分/details/123567和/details?search=123456,关键要抓住两者路径结构的本质差异:前者的路径是/details/xxx(带后续斜杠和子路径),后者的实际匹配路径是/details(没有后续斜杠,查询参数被直接忽略)。

所以正确的paths配置应该是这样:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "a.b.c",
        "paths": [
          "NOT /details",
          "/details/*"
        ]
      }
    ]
  }
}

配置逻辑拆解:

  • NOT /details:排除那些路径**正好等于/details**的请求(也就是你要忽略的/details?search=123456这类链接,因为它们的路径部分本质就是/details)。
  • /details/*:匹配所有以/details/开头的子路径(比如/details/123567,这正是你想在App中打开的目标链接)。

这样配置后,系统就能精准区分两种路径:带斜杠的详情链接会被引导到App内打开,而带查询参数的根详情链接则会被忽略,直接在浏览器中加载。

你可以在Xcode的关联域名设置里确认配置正确性,或者直接在设备上测试两种链接,验证效果是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:58:19