настроить ЧПУ в 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]


Ответы (0 шт):