Skip to main content

基本的なルーティング

Laravelの最も基本的なルートは、URIとクロージャを受け取ります。 複雑な設定ファイルなしに、ルートと動作を簡単に定義できます。

デフォルトのルートファイル

すべてのLaravelルートは routes/ ディレクトリのルートファイルに定義します。 これらのファイルは bootstrap/app.php の設定に基づいてLaravelが自動的に読み込みます。 routes/web.php にはブラウザ向けのルートを定義します。 このファイルのルートには web ミドルウェアグループが適用され、セッション・CSRF保護・クッキー暗号化が提供されます。

APIルート

アプリケーションがステートレス API を提供する場合、install:api Artisanコマンドで API ルーティングを有効にできます。
install:api コマンドは Laravel Sanctum をインストールし、routes/api.php ファイルを作成します。 Sanctumはサードパーティの API コンシューマ、SPA、モバイルアプリケーション向けのシンプルで堅牢な API トークン認証ガードを提供します。
routes/api.php のルートはステートレスで api ミドルウェアグループが適用されます。 また、すべてのルートに自動的に /api URI プレフィックスが適用されるため、手動で付与する必要はありません。 プレフィックスを変更する場合は、アプリケーションの bootstrap/app.php ファイルを編集します。

利用可能なHTTPメソッド

ルーターはすべてのHTTPメソッドに対応したルートを登録できます。
複数のHTTPメソッドに応答するルートは match または any を使います。
web ルートファイルで POSTPUTPATCHDELETE を受け取るHTMLフォームには、必ず @csrf ディレクティブを含めてください。 含めない場合、リクエストが拒否されます。

ビューを返すルート

ルートがビューを返すだけの場合は、Route::view を使うと簡潔に書けます。

ルートパラメータ

必須パラメータ

URLの一部を動的に取得するには、ルートパラメータを使います。 パラメータは {} で囲み、ルートコールバックの引数として受け取ります。
複数のパラメータも定義できます。
ルートパラメータには / 文字を含めることはできません。

任意パラメータ

パラメータを任意にするには、パラメータ名の末尾に ? を付け、対応する引数にデフォルト値を設定します。

正規表現によるパラメータ制約

where メソッドを使ってパラメータの形式を正規表現で制約できます。
よく使うパターンは便利メソッドでも書けます。

名前付きルート

名前付きルートを使うと、URL生成やリダイレクトを行う際にルート名を使って参照できます。

名前付きルートへのURL生成

ルート名からURLを生成するには route ヘルパーを使います。

リダイレクト

ルートグループ

関連するルートをグループ化して、ミドルウェア・コントローラー・プレフィックスなどを共通設定できます。

ミドルウェア

コントローラー

同じコントローラーを使うルートをグループ化できます。

プレフィックス

ルートのURIに共通のプレフィックスを付けられます。

ルート一覧の確認

定義されたすべてのルートを一覧表示するには、Artisanコマンドを使います。
ミドルウェア情報も含めて表示する場合は次のようにします。
特定のURIから始まるルートのみを表示する場合は次のようにします。

次のステップ

ビュー

ビューを作成し、コントローラーからデータを渡す方法を学びます。
最終更新日 2026年6月8日