为什么laravel路由必须优先顺序,否则找不到页面?

时间:2018-09-07 13:00:18

标签: php laravel redis

我正在学习如何在Laravel中使用Redis,并发现了一个奇怪的东西: 当上述路线articles/trending上的路线articles/{article}正常时,路线article/trending可以正常工作: My Router code picture

articles/{article}上方articles/trending时,找不到路由articles/trending吗?

谁能告诉我原因?并非常感谢您!

1 个答案:

答案 0 :(得分:1)

因为路径中的{article}语句只不过是一个占位符。

如果您输入

Route::get('articles/{article}')

具有其他结构的其他路线

Route::get('articles/...')

然后{article}语句将捕获您放在/之后的所有内容。

这是因为Laravel的路由器(以及AFAIK,无论使用哪种语言或框架,每个路由器)都在URL和定义的路由之间寻求第一个可能的匹配。

{article}是一个占位符,如果首先定义,将始终是第一个可能的匹配项。