2017-11-11 244 views
0

是否存在路由长度要求? 例如: 我发现这对Stacko:Symfony路由长度限制

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

我希望{8}它规定只有被称为当“SHORTURL”刚好8个字符长,但不起作用。

的理解:
我建了一个网址缩短服务,现在我面临这个问题:
路由上面,当用户输入URL别名我的网站为他创建并重定向他,这个作品被调用如预期。 该别名由小写字母和数字(随机)组成。
但是,当他想要查看他的个人资料(localhost/profile)时,上面的路由被调用而不是配置文件路由,尽管“profile”部分只有7个字符长。

回答

0

试试这个

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

您需要使用正则表达式符号^和$说“首先”和“结尾”。同样在您的正则表达式模式中,您忘记了UpperCase匹配中A和Z之间的负号。

+0

谢谢!完美的作品!我相应地改变了我的帖子。我upvoted,但它不算数,因为我在这里是新的。 – Moses

+0

如果您想稍后再回来并投票,则没有问题。 – Mz1907