带有正则表达式的Laravel路线不匹配的时间

时间:2019-02-07 10:17:55

标签: laravel laravel-routing

昨天我问过如何确保我的通配符路由与任何Laravel Nova路由都不匹配,因此迅速找到了解决方案。

现在我可以忽略新航线。但这似乎也以其他方式引发了匹配。这是定义的路线:

Route::get('/{seite}/{zweit?}/{dritt?}', 'PagesController@anyPage')
    ->where('seite', '^(?!nova).*$');

/ blog->应该匹配并且确实匹配

/ blog / news->应该匹配,但不匹配,并导致404

/ blog / news / post-123->与上述相同

如果我从路由定义中删除正则表达式,则所有这些示例都将匹配,但是我当然不能再访问Nova。

有什么想法会导致这种情况吗?

1 个答案:

答案 0 :(得分:0)

这可能是因为RegEx在uri中捕获了/字符。因此/blog/news被seite参数捕获。如果可以共享,那么查看您的PagesController和完整的route.php将会很有趣。