集合
在 SwitchHoster
中,集合是管理多个匹配项的核心单元,它将相关规则和配置统一为一个整体。每个集合由基本信息、URI匹配规则、匹配项 三部分组成。同时,你可以对集合进行操作,例如编辑、停用或删除等等。
URI匹配规则一览
SwitchHoster
提供多种灵活的 URI 匹配规则,适应不同的使用场景:
规则 | 适用场景 |
---|---|
默认、基础域 | 期望匹配一个域名及其所有子域名时 |
主机 | 期望严格匹配一个子域名时 |
开始于 | 期望匹配特定字符串或路径开头的URL 时 |
正则表达式 | 期望需要复杂的模式匹配时 |
精确 | 期望完全匹配一致时 |
从不 | 期望某些URI永远不会匹配时 |
基本信息
基本信息部分用于定义集合的名称和描述,以便你更好地管理和应用集合。
- 名称:为当前集合提供一个简洁的名称,方便在集合列表中中进行区分或选择不同的集合。
- 描述:为当前集合提供详细的文字描述,通常可以包括该集合使用场景、目的、适用的任务或网站等。帮助你和其他用户理解该集合的作用和配置细节。
URI匹配规则
集合可以有一个或多个URI(统一资源标识符)匹配规则,URI可以是网站的地址、服务器IP地址等。
URI 简介
URI由sheme方案(协议)
、hostname 主机名
、port端口
、path路径
、query string查询参数
几个部分组成。
提示
在switchhoster
中,对于sheme方案
并不敏感,你可以根据实际的使用情况进行选择是否添加sheme方案
默认匹配规则
基础域匹配规则是默认的匹配规则
基础域
当URI匹配规则设定为基础域 时,匹配 URI 的顶级域名和二级域名,如果匹配成功所有匹配项都将会生效。
例如,URI为https://domain.com
使用基础域匹配规则时:
网址 | 是否成功匹配? |
---|---|
http://domain.com | ✅ |
https://www.domain.com | ✅ |
https://example.com | ❌ |
https://domain.net | ❌ |
主机
当URI匹配规则设定为主机时,精确匹配指定的主机名 hostname
和端口 port
。当需要严格限制在某个特定子域时,这个规则非常实用。
提示
端口port
为选填项,如果填写了将会严格匹配
例如,如果URI为https://sub.domain.com:3000
,并且使用主机匹配规则时:
网址 | 是否成功匹配? |
---|---|
http://sub.domain.com:3000 | ✅ |
https://sub.domain.com:3000/page.html | ✅ |
https://sub.domain.com | ❌ |
https://sub.domain.com:4000 | ❌ |
https://sub2.domain.com:3000 | ❌ |
开始于
当URI匹配规则设定为开始于 时,匹配以指定字符串或路径开头的URI,无论后续内容如何,集合里所有匹配项 都将会生效。
例如,如果URI为https://sub.domain.com/path/
and when using starts with to match a rule:
网址 | 是否成功匹配? |
---|---|
https://sub.domian.com/path/ | ✅ |
https://sub.domain.com/path/page.html | ✅ |
https://sub.domain.com:3000/path/page.html (多余的端口) | ❌ |
https://sub.domain.com/path (缺少/ ) | ❌ |
https://www.domain.com/path/ | ❌ |
正则表达式
当URI匹配规则设定为正则表达式 时,将会使用你书写的正则表达式与检测到的资源相匹配,如果匹配成功所有匹配项都将会生效。
警告
正则表达式是一种高级选项,如果使用不当,集合可能会在出乎意料页面上生效。
例如,如果URI为^.*domain\.com
,并且使用正则表达式匹配规则时:
网址 | 是否成功匹配? |
---|---|
https://www.domain.com | ✅ |
https://sub.domain.com/path/page.html | ✅ |
https://domain.com | ❌ |
https://example.com | ❌ |
精确
当URI匹配规则设定为精确时,将会严格匹配完整的 URI,包括sheme方案(协议)
、hostname 主机名
、port端口
、 path路径
、query string查询参数
,如果完全相同所有匹配项都将会生效。
例如,如果URI为https://www.domain.com/page.html
并且使用精确匹配规则时:
网址 | 是否成功匹配? |
---|---|
https://www.domain.com/page.html | ✅ |
http://www.domain.com/page.html | ❌ |
https://www.domain.com/page.html?query=123 | ❌ |
https://www.domain.com/ | ❌ |
从不
当URI匹配规则设定为从不时,会跳过当前URI的检测。 例如,期望临时取消当前URI匹配规则,但是不想删除它。
操作
操作部分包含了管理集合的基本功能,这些操作让你可以根据需要对集合进行保存、停用或删除。
- 删除集合:完全删除当前集合,包括其中的所有匹配项和配置。此操作不可撤回,请谨慎操作。
- 停用集合:临时停用当前集合,保持集合配置不变,便于日后再次启用。
- 启用集合:重新启用当前集合,恢复集合配置。
- 放弃当前项:放弃对集合及匹配项的所有修改,返回到集合列表界面。
- 保存当前项:保存对集合和匹配项所做的所有修改,确保当前编辑内容得到更新。