Laravel路径中带有斜杠的可选参数

时间:2020-01-24 17:17:39

标签: laravel

我在创建具有可选参数的laravel路由时遇到问题。以下实现了我想要的行为:

Route::get('/{locale}/donate', 'MyController@index')->name('donation.index');
Route::get('/donate', 'MyController@index')->name('donation.index');

URL /fr/donate/donate都将加载MyController index()。但是,当我这样做时:

Route::get('/{locale?}/donate', 'MyController@index')->name('donation.index');

/donate将不会加载MyController index()。如何将locale参数设为网址中的可选段?

2 个答案:

答案 0 :(得分:0)

可选参数只能位于网址末尾

Route::get('/donate/{locale?}', 'MyController@index')->name('donation.index');

答案 1 :(得分:0)

我认为无法将参数定义为可选。这是解决问题的其他方法。

第一

Create a subdomain for that

第二个将您的可选参数移到最后一个。现在您的路线将变成这样

Route::get('/donate/{locale?}', 'MyController@index')->name('donation.index');