带有通配符的Laravel路线总是404

时间:2012-08-31 14:00:52

标签: routing wildcard laravel

我刚刚开始使用Laravel,我非常喜欢路由的想法,但我创建的任何带有通配符的路由都会回到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配置不一致,并没有正确处理类的别名或其他东西。添加将别名映射到类的辅助类大部分时间都可以工作。

2 个答案:

答案 0 :(得分:5)

对于Laravel的任何其他新人,这是您使用可选参数设置路线的方式。

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

答案 1 :(得分:2)

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