Laravel可选参数,在路径中带有斜线

问题描述 投票:0回答:2

我在创建具有可选参数的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参数设为网址中的可选段?

laravel
2个回答
-1
投票

可选参数只能位于URL的末尾

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

-1
投票

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

第一

Create a subdomain for that

Second将您的可选参数移至最后一个。现在您的路线将如下所示

Route::get('/donate/{locale?}', 'MyController@index')->name('donation.index');
© www.soinside.com 2019 - 2024. All rights reserved.