带有通配符的 Laravel 路由总是 404
Posted
技术标签:
【中文标题】带有通配符的 Laravel 路由总是 404【英文标题】:Laravel routes with wildcards always 404 【发布时间】:2012-08-26 08:46:52 【问题描述】:我刚开始使用 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?";
);
关于我为什么会得到 404 的任何想法?
编辑: 我想这是我的 php 配置参差不齐的问题,并且没有正确处理类的别名或其他东西。在大多数情况下,添加一个将别名映射到类的辅助类都可以工作。
【问题讨论】:
【参考方案1】:对于 Laravel 的任何其他新人,这是您使用可选参数设置路由的方式。
Route::get('hello/(:any?)', function ($name = 'default')
return "Welcome, $name.";
);
【讨论】:
【参考方案2】:您的 Apache 重写模块是否启用? 我已经在我的 Laravel 安装上尝试了你的第一条路线,它工作正常。
【讨论】:
是的,我从 Laravel 得到 404,而不是 Apache。我想这只是因为我很傻,不了解路线。它应该是(:any?)
,并带有传递给匿名函数的默认选项。感谢您的观看!以上是关于带有通配符的 Laravel 路由总是 404的主要内容,如果未能解决你的问题,请参考以下文章