多个 Slugs 冲突管理路由
Posted
技术标签:
【中文标题】多个 Slugs 冲突管理路由【英文标题】:Multiple Slugs conflict admin Route 【发布时间】:2021-11-11 13:12:42 【问题描述】:我有 2 条路线,一条用于管理员和其他帖子,但它们是冲突的,因为在帖子路线中我可能有另一个 slug 是类别。
例子:
Route::get('category?/slug',
[\App\Http\Controllers\Site\PostController::class, 'show']);
Route::prefix('admin')->group(function ()
Route::get('/login', 'App\Http\Controllers\Auth\LoginController@showLoginForm')->name('login');...
如何在不向帖子或管理员添加其他前缀的情况下解决它?我在文档中看到我可以使用正则表达式,但没有办法例如忽略“管理员”字或其他东西
【问题讨论】:
如果我没记错(或者至少它以前是如何工作的),路由将按照添加的顺序进行检查,因此请先尝试添加管理路由。 @BenGooding - 我认为他们知道这一点,因为他们特别要求提供不需要添加前缀的解决方案。 啊,我的错,我没有完整阅读它 【参考方案1】:路由是按顺序编译的,所以只需改变你的路由顺序,它们应该是这样的:
Route::get('admin/login', 'App\Http\Controllers\Auth\LoginController@showLoginForm')->name('login');
Route::get('category?/slug',[\App\Http\Controllers\Site\PostController::class, 'show']);
【讨论】:
以上是关于多个 Slugs 冲突管理路由的主要内容,如果未能解决你的问题,请参考以下文章