科学上网规则写了却没生效,先查匹配顺序
分流规则写了却没生效,先检查当前模式、实际请求信息和规则顺序。以 Mihomo 这一代理内核为例,排在前面的规则优先匹配;下载了规则集,也不等于访问会自动采用它。应先查实际命中的规则,再决定改顺序、匹配范围还是规则集配置。
先确认正在使用规则模式
Mihomo 通用配置区分规则、全局代理和全局直连三种模式。若当前是全局模式,修改某条分流规则无法验证其作用;应在自己计划使用的模式下测试,并确认请求确实进入这个内核。
随后看当前加载的规则。路由规则文档说明,规则按从上到下匹配,前面的优先级更高,MATCH 无条件匹配所有请求。把兜底项放在特殊规则前面,可能让后面的例外没有机会生效。先检查谁在前面接住了请求,再考虑增加规则。
完整域名和域名后缀不同
DOMAIN 匹配完整域名,DOMAIN-SUFFIX 匹配后缀。以示例域名 example.com 为例,完整匹配不会自动覆盖 www.example.com;后缀匹配可以覆盖该域名及子域名,却不会覆盖 not-example.com。
排查时,应核对连接实际使用的域名。规则的域名字段也不应混入 https:// 或页面路径,应填写文档要求的匹配值。若需要子域名范围,不要只凭字段里出现相同文字就判断已覆盖;关键词、后缀与完整匹配的范围不同。
规则集需要引用,下载出口另算
Mihomo 规则集文档要求按内容填写 behavior,区分域名、IP 网段和包含多种规则类型的文件。内容类型或文件格式选错时,先检查加载、更新错误,不要靠改变节点掩盖问题。
在 rule-providers 中定义规则集后,还应在路由列表中用 RULE-SET 引用它,并指定命中后的策略,也就是请求应采用的直连或代理安排。名称需要与引用一致,放置位置也参加前面所说的顺序比较。
容易混淆的是rule-providers 中的 proxy 字段:它指定下载或更新规则文件时所用的代理,不决定网站访问命中后走哪条线路。文件能下载,只能说明这次获取成功,不能代替规则命中验证。
用一次新连接核对改动
先备份当前配置,固定目标和节点,每次只调整一处。重新加载后发起新的访问,在客户端提供的连接详情或日志中,核对目标、命中规则、策略组与实际出口。
如果目标规则已经命中,但连接仍失败,应继续检查该策略选择的节点及目标可达性;这与“规则没命中”是不同故障。记录修改前后的差异,恢复无效改动再尝试下一项,比一次重写全部规则更容易解释。
资料核对日期:2026年10月9日。