Php 我的路线返回404,我如何修复它们?

Php 我的路线返回404,我如何修复它们?,php,laravel,routes,Php,Laravel,Routes,我在routes\web文件中定义了我的路由 Auth::routes(); Route::get('impersonate/{$user_id}', 'HomeController@impersonate')->name('impersonate'); Route::get('impersonate_leave', 'HomeController@impersonate_leave')->name('impersonate_leave'); Route::get('/home',

我在routes\web文件中定义了我的路由

Auth::routes();
Route::get('impersonate/{$user_id}', 'HomeController@impersonate')->name('impersonate');
Route::get('impersonate_leave', 'HomeController@impersonate_leave')->name('impersonate_leave');
Route::get('/home', 'HomeController@index')->name('home');
HomeController方法:

public function impersonate($user_id){
        echo $user_id; die;
        $user = User::find($user_id);
        Auth::user()->impersonate($user);
        return redirect()->route('home');
}

但是很抱歉,您正在查找的页面找不到。

我想这是因为您在route(web.php)中给出参数的方式。 您不需要在参数中添加
$
符号。就像下面一样

Route::get('impersonate/{user_id}', 'HomeController@impersonate')->name('impersonate');
添加从控制器中获取,就像获取一样

public function impersonate($user_id){
        echo $user_id; die;
        $user = User::find($user_id);
        Auth::user()->impersonate($user);
        return redirect()->route('home');
}

我想这是因为您在route(web.php)中给出参数的方式。 您不需要在参数中添加
$
符号。就像下面一样

Route::get('impersonate/{user_id}', 'HomeController@impersonate')->name('impersonate');
添加从控制器中获取,就像获取一样

public function impersonate($user_id){
        echo $user_id; die;
        $user = User::find($user_id);
        Auth::user()->impersonate($user);
        return redirect()->route('home');
}

你能上传完整的路线吗?@Md.SukelAli是的,我上传了。您可以在主要问题中看到此处定义仅定义路由::get('impersonate/{user_id}您可以上载完整路由吗?@Md.SukelAli是的,我上载了。您可以在主要问题中看到此处定义仅定义路由::get('impersonate/{user_id}