Laravel 路由故障排除

Laravel Route Troubleshooting

我想弄清楚为什么我的路由抛出 404 错误而不是提供我的图像。我正在使用 Spatie 媒体库来提供私人图片。

我有以下路线 web.php:

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::middleware(['auth'])->group(function () {
    Route::get('/images/{$gift}/{$uuid}', 'ImageController@show')->name('images.show');
    Route::resource('games', 'GameController');
    Route::resource('players', 'PlayerController');
});

Route::get('/', function () {
    return view('welcome');
});

当我这样做时:blade 中的 {{ route('images.show', [$gift, $gift->getFirstMedia()->uuid]) }} 正确生成了 URL。但是,单击 link 会导致 404 错误。

ImageController@show 函数存在,目前只做 dd('here'); 所以我确信 Laravel 甚至从未尝试调用该函数。

此外,我的 laravel.log 文件中目前没有任何内容。此 404 错误不会生成日志条目。

感谢您的协助!

在 URI 中定义路由参数时,它们只是名称,而不是 PHP 变量:

'/images/{$gift}/{$uuid}' 

应该是:

'images/{gift}/{uuid}'