2014-12-07 206 views
0
Route::get('dashboard/{path?}', function($path= null) 
{ 
    return $path; 
}); 

是的,這是有道理的Laravel可選路由參數

如果什麼網址是

dashboard/movies/funny/../..

NotFoundHttpException

回答

7

每默認的路由參數不能包含任何斜槓,因爲多個路由參數或段由斜槓分隔。

如果你有路徑水平有限數目的你可以這樣做:

Route::get('dashboard/{path1?}/{path2?}/{path3?}', function($path1 = null, $path2 = null, $path3 = null) 

然而,這是不是很優雅,也沒有動,你的例子表明可以有很多路徑水平。您可以使用where約束來允許路由參數中的斜槓。所以這條路線基本上會抓住所有以dashboard

Route::get('dashboard/{path?}', function($path= null){ 
    return $path; 
})->where('path', '(.*)'); 
+0

是啊這就是謝謝你 – 2014-12-07 14:57:08