настроить ЧПУ в Laravel 8
Подскажите, как сделать ЧПУ ссылки в laravel? У менять есть список категорий, по нажатию на категорию перехожу на страницу /catalog?url=games. И сортируются карточки на странице каталога по url 'games'.
Пробовала писать маршрут:
Route::get('/catalog/{url}', [ CatalogController::class, 'catalog' ])->name('catalog');
и в контроллере для функции:
public function catalog(Request $request, $url){
//Вывод категорий на странице каталога проектов
$ctgys = DB::table('categorys')->get();
$url = $request->get('url');
if(!empty($_GET['url'])){
$url = $_GET['url'];
}
//Вывод проектов в ajax подгрузке
if(empty($url)){
$catalog = DB::table('catalog')->paginate(6);
}else{
$catalog = DB::table('catalog')
->where('categorys.url', '=', $url)
->leftJoin('categorys', 'catalog.id_category', '=', 'categorys.id')
->select('catalog.*', 'categorys.url')
->paginate(6);
}
if($request->ajax()){
$catalogs = view('pages/catalogAjax', compact('catalog'))->render();
return response()->json(['html'=>$catalogs]);
}
return view('pages/catalog', compact('catalog'), ['ctgys' => $ctgys]);
}
В таком случае, я могу перейти на страницу /catalog/games, но карточки в каталоге перестают сортироваться по games. А если добавлю в htaccess строку для параметров, то карточек выводится бесчисленное множество, т.е. все равно не сортируются.
RewriteRule ^catalog/([^/]+)/?$ catalog.php?url=$1 [L]