Skip to content

URL匹配规则说明 🎯

通配符说明 🔍

基础通配符

通配符说明匹配范围
?单字符通配符匹配任意一个字符
*字符串通配符匹配任意数量字符(不含/)
**路径通配符匹配任意数量字符(含/)

匹配规则详解 📝

1. 问号匹配 (?)

  • 只匹配单个字符
  • 不能匹配路径分隔符(/)
  • 必须有一个字符与之对应
plaintext
/api/user? 可以匹配:
✓ /api/user1
✓ /api/userA
✗ /api/user/
✗ /api/users

2. 单星号匹配 (*)

  • 匹配任意数量字符
  • 不能跨越路径分隔符
  • 可以匹配空字符串
plaintext
/api/user* 可以匹配:
✓ /api/user
✓ /api/user123
✓ /api/userABC
✗ /api/user/info
✗ /api/other

3. 双星号匹配 (**)

  • 匹配任意数量字符
  • 可以跨越路径分隔符
  • 常用于多级路径匹配
plaintext
/api/**/user 可以匹配:
✓ /api/user
✓ /api/v1/user
✓ /api/v1/test/user
✓ /api/a/b/c/user

实用示例 💡

1. API版本匹配

plaintext
/api/v?/* 匹配示例:
✓ /api/v1/users
✓ /api/v2/orders
✗ /api/v10/users

2. 多级资源匹配

plaintext
/api/**/data 匹配示例:
✓ /api/data
✓ /api/user/data
✓ /api/user/profile/data

3. 文件类型匹配

plaintext
/static/*.jpg 匹配示例:
✓ /static/image.jpg
✓ /static/photo.jpg
✗ /static/docs/image.jpg

使用建议 📌

  1. 优先使用精确匹配
  2. 合理使用通配符,避免过于宽泛
  3. 按照最具体到最模糊的顺序配置规则
  4. 注意通配符的作用范围和限制

注意事项 ⚠️

  • ? 必须对应一个字符
  • * 不能跨越路径分隔符
  • ** 慎用,可能影响性能
  • 规则从上到下匹配,注意顺序