router->get('{slug}-{id}', 'Controller@method');
router->get('{otherSomething}', 'Controller@method2');
这是我的路由,第一行不起作用。怎么解决?我的软件规范不允许在第一次路由中使用斜杠(/)而不是破折号( - )。
对于下面的路由器样本具有相同的掩码
site.com/slug-name-and-sth-100
site.com/other-something
答案 0 :(得分:2)
假设您的other-something
没有以号码结尾,您可以使用Regular Expression Constraints,例如您可以使用以下ID定义路线:
$router->get('{slug}-{id}', 'Controller@method')->where('id','[0-9]+');
现在应该可以了。但是你需要记住把这条路线放在路线前面:
$router->get('{otherSomething}', 'Controller@method2');
否则它不会工作。
修改强>
如果两个网址的格式相同,则应完全删除{slug}-{id}
路由,并将{otherSomething}
的所有流量指向一个方法(例如method2
)。
现在你应该解析$otherSomething
变量并决定你应该做什么:
{slug}-{id}
你现在可以为此运行服务