Laravel ダイレクトアクセス禁止

実現したいこと

ここに実現したいことを箇条書きで書いてください。

前提

ここに質問の内容を詳しく書いてください。
(例)
Laravelを使用した選手一覧の画面を作成しており、選手一覧の詳細画面に直接アクセスした場合は選手一覧の画面に移動させたいのですが、以下の方法を試してもうまくいきません。まだLaravelの知識が浅く、ところどころ理解が及んでいない可能性があるため、もしよろしければ、どうすればダイレクトアクセスした際に遷移させるのか教えていただけないでしょうか。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

PlayersController.php public function show($id){ $player = Player::find($id); if (is_null($player)){ return redirect(route('index')); } return view('players.detail', ['player' => $player]); } web.php Route::get('/', [PlayersController::class, 'index'])->name('index'); 選手一覧画面 Route::get('/show/{id}', [PlayersController::class, 'show'])->name('players.detail'); 詳細画面 detail.blade.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> 選手詳細</title> <link rel="stylesheet" type="text/css" href="/css/base.css"> </head> <body class=del> <h1>■選手データ</h1> <table> <tr> <td>No</td> <td>{{ $player->id }}</td> </tr> <tr> <td>背番号</td> <td>{{ $player->uniform_num }}</td> </tr> <tr> <td>ポジション</td> <td>{{ $player->position }}</td> </tr> <tr> <td>所属</td> <td>{{ $player->club }}</td> </tr> <tr> <td>名前</td> <td>{{ $player->name }}</td> </tr> <tr> <td>誕生日</td> <td>{{ $player->birth }}</td> </tr> <tr> <td>身長</td> <td>{{ $player->height }}</td> </tr> <tr> <td>体重</td> <td>{{ $player->weight }}</td> </tr> </table> <p class="top-back"><a href="route('index')" >戻る</a><p> </body> </html>

試したこと

web.phpに
Route::get('/show/{id}', function () {return redirect(route('index'));});を追加

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント