Symfony 路由长度限制

Symfony route length restriction

是否存在路线长度要求? 例如: 我在 Stacko 上找到了这个。:

/**
 * @Route("/{shortUrl}", requirements={„shortUrl" : "[a-zA-Z0-9]{8}"})
 * @method({"GET"})
 */

我希望 {8} 将其限制为仅在 "shortUrl" 恰好为 8 个字符长时调用它,但这不起作用。

为了您的理解:
我构建了一个 URL-shortener,现在我面临这个问题:
当用户输入我为他创建的 URL 别名并重定向他时,将调用上面的路由,这按预期工作。 此别名由大小写字母和数字(随机)组成。
但是当他想查看他的个人资料 (localhost/profile) 时,会调用上面的路由而不是个人资料路由,尽管 "profile" 部分只有 7 个字符长。

试试这个

/**
 * @Route("/{shortUrl}", requirements={"shortLink" : "^[a-zA-Z0-9]{8}$"})
 * @method({"GET"})
 */

您需要使用正则表达式符号 ^ 和 $ 表示 "begin with" 和 "end with"。同样在您的正则表达式模式中,您忘记了用于大写匹配的 A 和 Z 之间的减号。