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

如何配置Symfony中带UUID占位符的URL为公开访问?

正确配置方案

针对UUID格式的/users/{id}/confirm路径公开访问,正确的YAML配置如下:

- { path: ^/users/[0-9a-f]{8}-[0-9a-f]{4}-1[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/confirm$, roles: PUBLIC_ACCESS }

或者更易读的多行格式:

- path: ^/users/[0-9a-f]{8}-[0-9a-f]{4}-1[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/confirm$
  roles: PUBLIC_ACCESS

之前配置失败的原因分析

  1. 语法错误(使用{id})
    多数权限配置框架不支持直接用{id}作为路径变量匹配,这类语法通常用于路由定义而非权限规则的正则匹配,直接写入会触发语法错误。

  2. 加引号后404
    若引号包裹的是^/users/{id}/confirm,框架依然无法识别{id}变量,匹配不到实际的UUID路径,导致404;如果是包裹正则但未修正格式,也会因为正则不生效导致匹配失败。

  3. YAML格式错误(转义[)
    YAML中不需要对[进行转义,额外添加的\会被解析为无效字符,破坏YAML结构,引发格式错误。另外正则末尾最好加上$,确保匹配完整路径,避免误匹配更长的URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:53:10