我目前正在追踪路线。
$router->get('/contact-us','HomeController@contactUs')->name('contact-us');
$router->get('/about','HomeController@about')->name('about');
现在,我想使常规页面可以按照路线访问,
$router->get('/{slug}','SomeController@about')->name('general-page');
但是主要问题是与我们联系,并且关于与子弹路径匹配的页面以及错误的控制器被称为。有什么办法可以将此类标签排除在一般页面路由之外。
答案 0 :(得分:3)
您可以在路线中添加一个模式,其中排除contact-us
和about
这两个字词,例如:
$router->get('/{slug}','SomeController@about')
->where('slug', '^((?!about|contact-us).)*$')
->name('general-page');
有关正则表达式的说明,请参见here
通过这种方式,路由定义的顺序不会产生任何影响。