【发布时间】:2021-04-24 14:03:13
【问题描述】:
对于我的项目,我需要动态路由,因为 URL 中的 {slug} 可以指向多个资源。
/shoes - poinst to category
/black-slippers - points to product
除了通配符路由之外,我还有一些 (50) 个静态路由(全部在 routes/web.php 中的通配符路由之前定义) 但是现在,当被称为静态路由时,也执行通配符路由,例如:
Route::get('/profile', [\App\Http\Controllers\Frontend\UserProfileController::class, 'show'])->name('profile.show');
Route::get('{address}', [\App\Http\Controllers\Core\WebaddressController::class, 'resolveAddress'])->where('address', '.*');
在浏览器中显示配置文件页面(正确),但在 SQL 查询中我看到,在 WebaddressController@resolveAddress 中调用的查询也被执行。
如果我注释通配符 Route,查询就会消失。
如何不执行通配符路由?谢谢
请不要建议更改路线样式,我不能,这是要求的形式。
【问题讨论】: