2012-08-31 59 views
1

我刚开始使用Laravel,我非常喜欢路由的想法,但是我创建的任何具有通配符的路线都会回落到Laravel 404路线。带有通配符的Laravel路线总是404

这是我的路线文件:

# This loads fine 
Route::get('hello', function(){ 
    return 'Hello!'; 
}); 

# This gives me a 404 
Route::get('hello/(:any)', function ($name) { 
    return "Welcome, $name."; 
}); 

Route::get(array('/'), function() 
{ 
    return View::make('home.index'); 
}); 

Event::listen('404', function() 
{ 
    return Response::error('404'); 
}); 

Event::listen('500', function() 
{ 
    return Response::error('500'); 
}); 

我也试图与any无济于事。

Route::any('hello/(:any)', function ($name) { 
    return "Sup, $name?"; 
}); 

任何想法,为什么我得到404s?

编辑: 我想这是我的PHP配置斑点,并没有正确处理类别的别名。添加一个将别名映射到类的助手类大多数情况下都是可用的。

回答

5

对于Laravel的任何其他新用户,这是如何设置具有可选参数的路线。

Route::get('hello/(:any?)', function ($name = 'default') { 
    return "Welcome, $name."; 
}); 
2

是否启用Apache重写模块?
我已经尝试了我的Laravel安装的第一条路线,它工作正常。

+0

是的,我从Laravel获得404,而不是Apache。我认为这是因为我很傻,不理解路线。它应该是传递给匿名函数的默认选项'(:any?)'。感谢您看一看! – MetalFrog