Я строю двуязычный сайт в Laravel 4, и мои URL-адреса содержат идентификатор локали. Помимо этого, важно иметь приятные поисковые пули на правильном языке. Итак, допустим, у меня есть маршрут, на котором вы найдете кружки. Эквивалент по-французски будет tasses.Возможны ли маршруты или маршруты Laravel?
В настоящее время, что я делаю это
Route::get('{locale}/mugs', ['uses' => '[email protected]']);
Route::get('{locale}/mugs/{id}', ['uses' => '[email protected]']);
Route::get('{locale}/tasses', ['uses' => '[email protected]']);
Route::get('{locale}/tasses/{id}', ['uses' => '[email protected]']);
И короткий URL/проверка локаль и перенаправлять в методах контроллера, что гарантирует, что слизняк находится на правильном языке, так что вы не до конца с /fr/mugs
, например.
Это работает нормально, но может стать громоздким, так как у меня будет по два, если я сделаю больше маршрутов. Например, мне пришлось бы иметь как {locale}/mugs/ceramic/{id}
, так и {locale}/tasses/ceramique/{id}
и т. Д.
Есть ли способ сделать что-то вроде {locale}/mugs|tasses/{id}
в Ларавеле? Или даже проверить с RegEx?
Я знаю, что вы можете проверить параметры маршрута с помощью RegEx, но можете ли вы проверить фактические компоненты пути?
Да! Это работает очень хорошо. Спасибо. – magiclantern