跳转到主要内容

基础路由

Laravel 最基础的路由由 URI 和闭包组成。 无需复杂的配置文件即可轻松定义路由与对应行为。

默认的路由文件

Laravel 所有的路由都定义在 routes/ 目录下的路由文件中。 Laravel 会根据 bootstrap/app.php 的配置自动加载这些文件。 routes/web.php 用于定义面向浏览器的路由。 此文件的路由会应用 web 中间件组,从而提供 Session、CSRF 保护与 Cookie 加密。

API 路由

如果应用要提供无状态 API,可以通过 install:api Artisan 命令启用 API 路由。
install:api 命令会安装 Laravel Sanctum 并创建 routes/api.php 文件。 Sanctum 提供了一种简洁而稳固的 API 令牌认证守卫,适用于第三方 API 消费者、SPA 和移动应用。
routes/api.php 中的路由是无状态的,并会应用 api 中间件组。 同时会自动为所有路由添加 /api 前缀,无需手动指定。 如果要修改前缀,请编辑应用的 bootstrap/app.php 文件。

可用的 HTTP 方法

路由器可以注册对应任意 HTTP 方法的路由。
要注册响应多种 HTTP 方法的路由,请使用 matchany
web 路由文件中接收 POSTPUTPATCHDELETE 的 HTML 表单,务必包含 @csrf 指令。 否则请求将被拒绝。

返回视图的路由

如果路由只需返回视图,可以用 Route::view 更简洁地定义。

路由参数

必需参数

如果要动态获取 URL 的一部分,请使用路由参数。 参数用 {} 包裹,并作为路由回调的参数接收。
可以定义多个参数。
路由参数不能包含 / 字符。

可选参数

若要让参数变为可选,请在参数名末尾添加 ?,并给对应参数设置默认值。

正则表达式约束参数

使用 where 方法可以用正则表达式约束参数的格式。
常用模式还可以通过便捷方法书写。

命名路由

命名路由可以在生成 URL 或重定向时通过路由名进行引用。

通过命名路由生成 URL

使用 route 辅助函数可以根据路由名生成 URL。

重定向

路由分组

可以将相关路由分组,共享中间件、控制器、前缀等设置。

中间件

控制器

可以将使用同一个控制器的路由分组。

前缀

可以为路由 URI 添加公共前缀。

查看路由列表

要列出所有已定义的路由,请使用 Artisan 命令。
若要一并显示中间件信息,可以:
若只显示以特定 URI 开头的路由,可以:

下一步

视图

学习如何创建视图,并从控制器向视图传递数据。
最后修改于 2026年7月18日