首页  >  问答  >  正文

laravel5路由参数规则问题

如下路由规则限制id为数字,当不是数字就报错了,怎么设置其不是数字时提示参数有误、不存在的文章、或者跳转到首页?

Route::get('article/{id}', function($id) {
    return 'Article:' . $id;
})->where('id', '[0-9]+');
習慣沉默習慣沉默2734 天前721

全部回复(2)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:58:21

    方法1

    Route::get('article/{id}', function($id) {
        if(is_numeric($id)) {
            return 'Article:' . $id;
        } else {
            return 'Index'
        }
    });
    

    方法2

    Route::group(['prefix' => 'article/'], function() {
        Route::get('{id}', function($id) {
            return 'Article:' . $id;
        })->where('id', '[0-9]+');
        Route::get('{id}', function($id) {
            return 'Index:'.$id;
        });
    });
    

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 16:58:21

    建立文件resourcesviewserrors404.blade.php 不存在的路由会跳转这个文件,具体处理写在这个文件

    回复
    0
  • 取消回复