我看到laravel有Routes::any()
方法,我很好奇如何创建一条路线"捕手"这将捕获任何未注册的路线并返回404页面,我知道它会像Route:any('/', function() { abort(404) });
那样接受我认为它不会/
因为我已注册为主页。
我看到的所有例子都是2年,并且在5.5发布时已过时。
答案 0 :(得分:1)
如果您只想自定义404页面的视图,那么就不需要" catch"任何东西。 resources/views/errors/404.blade.php
中的You can just modify the 404 error page。
如果您想在404发生时执行某些操作,则可以使用render
方法在exception handler中执行此操作。
您还可以使用middleware来处理404:
class ExampleMiddleware
{
public function handle($request, Closure $next)
{
$response = $next($request);
if($response->getStatusCode() == 404) {
// Handle 404
}
}
}
根据您的使用情况,terminable middleware可能更合适。
答案 1 :(得分:1)
在Laravel 5.5中有后备网址,当找不到路由时会调用它。
路线::任何(" {后备}",函数(){
dd('这是后备功能。');
});
或者您可以尝试使用旧版本,如5.4,5.3等
路线::任何(" {所有}",函数(){
dd('This is fallback function');
});