Всем привет. Есть следующий маршрут:
Route::get('catalog/{parentCat}/{childrenCat}/{productAlias}-{productId}.html',
['as' => 'productPage', 'uses' => 'ProductController@index']
)->where('productAlias', '([0-9]+)-([A-Za-z]+)-([-\w]+)');
Он работает на URL'ах, которые содержат минимум 2 знака тире (-). Почему так происходит? Т.е. на ссылке: catalog/flowers/roses/101-rose-2.html этот маршрут не работает, а на http://larashop.loc/catalog/flowers/roses/101-rose-60sm-2.html работает. Каким образом сделать, чтобы он работал и на первом варианте? Можно ли сделать в регулярке выражение ([-\w]+) необязательным?
Попробуйте такой вариант:
->where('productAlias', '[A-Za-z0-9-]+')
->where('productId', '[0-9]+');
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости