我在routes.php
中有这个:
$builder
->connect( '/a/*', [ "controller" => "Api", "action" => "foo" ] )
->setHost("domain.world");
这对于像https://domain.world/a/5nxdy9lmcthc
这样的URL非常有效。当我想根据URL中的第一个字符启用不同的路由时,我失败了。
例如,这些不同的行动目标:
a*
--〉aAction
b*
--〉bdAction
- 一米六一--〉一米七一......
它现在可以与/
一起工作,但由于某些原因,我想省略/
,因此URL将是https://domain.world/a5nxdy9lmcthc
或https://domain.world/b5nxdy9lmcthc
,这将触发不同的操作,因为a
和b
是/
之后的第一个字符。
我的问题:
是否可以使用*
,或者是否需要使用斜线?
1条答案
按热度按时间5w9g7ksd1#
贪婪星星(
*
)和尾随星(**
)是路径段运算符,它们将匹配其余的路径段,它们不匹配一个段的 parts,所以是的,需要斜线。您可以对自定义路线元素使用正则表达式,以实现您所需的效果:
另请参阅
*操作手册〉路线〉连接路线
*操作手册〉路线〉连接路线〉路线元素