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

Symfony控制器路由如何配置正则排除指定URL路径'abc'?

解决方案

你可以使用PCRE正则的负向先行断言实现需求,只需要将requirements里url对应的正则修改为^(?!abc$).+即可。

修改后的完整注解配置如下:

/**
 * @Route(path="/api/{url}", name="test", requirements={"url"="^(?!abc$).+"})
 */
public function index(string $url)
{
   ...
}

正则说明

  • ^ 匹配字符串开头
  • (?!abc$) 负向先行断言,表示当前位置之后不能是完整的abc字符串($匹配字符串结尾,确保只排除恰好等于abc的路径,不会误伤abc123、xabc这类路径)
  • .+ 匹配任意1个及以上字符,和你原有逻辑保持一致

如果你需要排除所有以abc开头的路径,只需要把正则里的$去掉,改成^(?!abc).+即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:54:00