Skip to main content

基本路由

Laravel 最基本的路由由 URI 與 closure 組成。 無需複雜的設定檔即可輕鬆定義路由與動作。

預設路由檔

所有 Laravel 路由都定義在 routes/ 目錄的路由檔中。 Laravel 會根據 bootstrap/app.php 的設定自動載入這些檔案。 routes/web.php 定義瀏覽器用的路由。 此檔案中的路由會套用 web middleware 群組,提供 session、CSRF 保護、cookie 加密等功能。

API 路由

若應用程式提供無狀態 API,可用 install:api Artisan 指令啟用 API 路由。
install:api 指令會安裝 Laravel Sanctum 並建立 routes/api.php 檔案。 Sanctum 為第三方 API 消費者、SPA、行動應用提供簡潔而穩健的 API token 認證 guard。
routes/api.php 中的路由是無狀態的,會套用 api middleware 群組。 所有路由也會自動加上 /api URI 前綴,因此無需手動加上。 若要變更前綴,可編輯應用程式的 bootstrap/app.php 檔案。

可用的 HTTP 方法

路由器可為所有 HTTP 方法註冊路由。
需要回應多個 HTTP 方法的路由,使用 matchany
web 路由檔案中接收 POSTPUTPATCHDELETE 的 HTML 表單,一定要加上 @csrf 指示詞。 否則請求會被拒絕。

回傳 view 的路由

當路由只是回傳 view 時,使用 Route::view 可寫得更簡潔。

路由參數

必要參數

要動態取得 URL 的一部分時,可使用路由參數。 參數以 {} 包起來,在路由 callback 中作為引數接收。
也可定義多個參數。
路由參數不可包含 / 字元。

可選參數

要讓參數為可選,在參數名稱尾端加上 ?,並為對應引數設定預設值。

以正則表達式限制參數

where 方法可以正則表達式限制參數格式。
常用樣式也可使用便利方法。

具名路由

使用具名路由,可在產生 URL 或 redirect 時以路由名稱參照。

產生具名路由的 URL

要從路由名稱產生 URL,使用 route helper。

Redirect

路由群組

可將相關路由分組,共同套用 middleware、controller、前綴等設定。

Middleware

Controller

可將使用相同 controller 的路由分組。

前綴

可為路由 URI 加上共同前綴。

檢視路由一覽

要一覽所有已定義的路由,使用 Artisan 指令:
若要一併顯示 middleware 資訊:
若要只顯示以特定 URI 開頭的路由:

後續步驟

View

學習建立 view 並從 controller 傳入資料的方法。
最後修改於 2026年8月2日