У меня есть следующие маршруты для интернет-магазина с категориями и продуктами:
Route::name('shop.products.view')->get('/p/{productUrl}', 'Shop\ProductsController@view');
Route::name('shop.categories.view')->get('/c/{categoryOne}/{categoryTwo?}/{categoryThree?}', 'Shop\CategoriesController@view')
categoryTwo является подкатегорией категорииOne
categoryThree является подкатегорией категорииTwo
Thisработает отлично, но мне нужно поставить .html в конце, чтобы URL были точно такими же, как URL из старого интернет-магазина.
Для страницы продукта это не проблема:
Route::name('shop.products.view')->get('/p/{productUrl}.html', 'Shop\ProductsController@view');
Если я сделаю это для страницы категории, она не будет работать, если необязательные параметры не заполнены.
Route::name('shop.categories.view')->get('/c/{categoryOne}/{categoryTwo?}/{categoryThree?}.html', 'Shop\CategoriesController@view')
В результате: domain.com / c / category1 //. Html
Любые идеи о том, как решить эту проблему, поэтому я получаю:
domain.com / c / category1.html
domain.com / c / category1 / category2.html
domain.com / c / category1 / category2 / category3.html