与正则表达式Laravel路线不是当它应该匹配

问题描述 投票:0回答:1

昨天我曾问如何确保我的通配符路径不匹配任何Laravel新星路线,并迅速找到了解决办法。

现在新星路由会被忽略,因为我想要的。但是,这也似乎甩开其他方式匹配。下面是定义的路径:

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

/博客 - >应匹配和不匹配

/博客/新闻 - >应该匹配,但不和导致404

/博客/新闻/后123 - >同上

如果我从路由定义中移除正则表达式,所有的这些例子是匹配的,但后来我当然不能再访问新星。

任何想法可能是什么造成的?

laravel laravel-routing
1个回答
0
投票

因为正则表达式是捕捉URI中的/字符这是可能的。所以/blog/news由seite参数抓获。这将是有趣的,看看你的PagesController和全routes.php文件,如果你可以分享。

© www.soinside.com 2019 - 2024. All rights reserved.