我想有這個兩個網址與一個航的工作:在路線Laravel optionnal參數
mysite.com/search
和
mysite.com/food/搜索
我已經做到了這一點,但這只是與第二之一。
Route::group([ 'prefix' => '{section?}' ], function(){
Route::get('/search', [ 'as' => 'search', 'uses' => '[email protected]' ]);
});
我想有這個兩個網址與一個航的工作:在路線Laravel optionnal參數
mysite.com/search
和
mysite.com/food/搜索
我已經做到了這一點,但這只是與第二之一。
Route::group([ 'prefix' => '{section?}' ], function(){
Route::get('/search', [ 'as' => 'search', 'uses' => '[email protected]' ]);
});
我不相信在這種情況下,有必要把它分成一組。在laravel中有幾種通配符路由方法。
使用毛坯:
Route::get('{section?}/search', [ 'as' => 'search', '[email protected]']);
使用通配符:
Route::get('(:any?)/search', ['as' => 'search', '[email protected]']);
使用正則表達式:
Route::get('(.*)/search', ['as' => 'search', '[email protected]']);
顯然,如果你想要做的,你需要通配符處理在PostController中將參數傳遞給您的搜索方法。
我有一段時間沒有使用Laravel,所以這可能會模糊,但我認爲這應該可以解決您的問題。
爲什麼你不使用 mysite.com/search/food 而不是 mysite.com/food/search?
通過這樣做,你將有多個,現在解決您的這些航線的一個:
Route::group([ 'prefix' => 'search' ], function() {
//your code
//as an example
Route::get('/',....);
Route::get('/food' , ...) ;
});
這會使你的URL更加人性化的閱讀,易於功能添加到它。