В документации написано, что URL / — единственный случай, когда нужно использовать слэш. Собственно, если ты передашь в register() пустую строку, то она будет установлена в /:
$uri = ltrim(str_replace('(:bundle)', static::$bundle, $uri), '/');
if($uri == '')
{
$uri = '/';
}
Другое дело, что ведущие / в любом случае отсекаются и маршрут будет работать даже если определён как /home. А вот слэши в конце его поломают.
]]>}%> %%'/(:all)'%%
URL не должен начинаться со слэша, если только это не коречь (просто %%'/'%%). Для примера можешь открыть %%laravel\laravel.php%% и посмотреть, как там определён "catch-all"-маршрут 404.
Как это роут не может начинаться со слеша laravel\routing\router.php:213
И из примера это также понятно Router::register(array('GET', '/', 'GET /home'), function() {return 'Home!';});
]]>URL не должен начинаться со слэша, если только это не коречь (просто '/'). Для примера можешь открыть laravel\laravel.php и посмотреть, как там определён «catch-all»-маршрут 404.
]]>Route::get('/(:all)', array('uses'=>'static@index'));
class Static_Controller extends Base_Controller {
public function action_index($slug)
{
return "Static page. Slug = " . $slug;
}
}
Такой работает, но тогда в пути будет присутствовать static
Route::get('static/(:all)', array('uses'=>'static@index'));
Т.е. на сайте может быть много обычных страниц, которые будут доступны по адресам
http://mysite/any-slug-1
http://mysite/any-slug-2
...
http://mysite/any-slug-n