Clash Verge Rev 规则不生效怎么排查?
简答:先确认当前使用的是 Rule 模式和正确订阅,再用一条唯一标记规则检查它是否进入最终运行配置。若规则已进入配置但未命中,重点看规则顺序、匹配类型和策略组名称;若连接页没有请求,则转查系统代理、应用代理、TUN 或权限。
定义:Clash Verge Rev 规则不生效,是指自定义规则没有进入当前运行配置、没有匹配请求,或虽然命中但对应出站连接失败。
先看这张“现象—证据—下一步”速查表
Clash Verge Rev 的规则问题不要只看“规则编辑页面有没有内容”,还要确认最终配置和连接请求。官方客户端支持可视化规则编辑、系统代理和 TUN 模式,但不同版本的菜单名称可能变化,以下入口请以当前界面为准。可先参考Clash Verge Rev 官方仓库的当前说明。
| 现象 | 优先检查 | 判断结果 |
|---|---|---|
| 编辑规则页面没有自定义内容 | 是否编辑了当前激活的订阅 | 编辑错配置或未保存 |
| 规则页面有内容,最终配置没有规则 | 生成的运行配置和配置合并方式 | 配置没有被合并,先不要查 DNS 或节点 |
| 最终配置有规则,但连接页命中其他规则 | 规则顺序、MATCH、规则类型 | 通常是前置规则位置或匹配范围不正确 |
| 连接页命中规则,但网页打不开 | 策略组、节点、DNS、MTU 和日志 | 规则层基本通过,转查出站网络 |
| 连接页没有目标请求 | 系统代理、应用代理、TUN 和权限 | 请求可能没有进入 Mihomo 内核 |
最快测试:备份当前配置后,在当前订阅的规则编辑入口添加一条只用于识别的规则,例如 DOMAIN-SUFFIX,test-marker-verify.invalid,REJECT。保存并重新激活订阅,再到运行配置中搜索 test-marker-verify.invalid。测试结束后删除这条规则,避免影响后续访问。
第一步:确认处于 Rule 模式,并且改的是当前订阅
- 确认模式。打开代理控制区域,检查当前不是 Global 或 Direct,而是 Rule。Global 会把请求交给统一策略,Direct 会绕过代理规则;即使规则写对了,也可能观察不到预期分流。
- 确认订阅。在配置列表中确认正在运行的订阅与刚才编辑的订阅名称、更新时间或激活状态一致。不要只打开编辑页面后直接测试,要重新点击当前配置进行激活。
- 确认保存。保存后重新建立一个请求,不要只刷新旧网页。浏览器缓存、连接复用和已有长连接都可能让前后结果看起来没有变化。
- 优先使用当前版本提供的编辑规则入口。官方文档说明,自定义规则可以通过订阅配置的“编辑规则”入口添加,并且通常可选择前置或后置位置;具体按钮名称和字段以当前版本为准。可查看Clash Verge Rev 官方规则文档。
第二步:用最终运行配置判断“规则有没有被合并”
规则编辑器里看得到内容,不等于 Mihomo 当前实际加载了这些内容。请在客户端提供的“打开配置目录”、配置文件管理或日志入口中定位当前运行配置;Windows、macOS 和 Linux 的路径可能不同,不建议直接照抄其他系统的固定路径。
- 先关闭或备份待修改的配置,不要直接覆盖原文件。
- 重新激活当前订阅,让客户端生成新的运行配置。
- 搜索刚才添加的唯一标记,例如
test-marker-verify.invalid。 - 若标记完全不存在,问题在配置合并、订阅激活或版本行为,不要继续调整规则顺序。
- 若标记存在,说明规则已经进入运行配置,继续检查匹配和流量入口。
需要特别注意:官方 Issue #7875 记录了一个与 v2.5.2 相关的案例:订阅的“编辑规则”卡片内容仍能在界面中看到,但对应规则没有进入生成的运行配置;该页面同时提到旧的 type: merge 路径作为对照。这个问题是否影响你的版本、系统和配置方式,必须用唯一标记规则自行核对,不能仅凭版本号推断。详情见官方 Issue #7875,其当前处理状态以页面为准。
第三步:规则已进入配置但没有命中,检查类型和顺序
Mihomo 按规则从上到下匹配,前面的规则优先级更高;官方规则文档也明确说明了这一点。尤其要检查 MATCH 是否出现在自定义规则之前。若前面已有一条宽泛的 DOMAIN-KEYWORD、GEOSITE、RULE-SET 或 MATCH,后面的规则可能永远不会被执行。
| 写法 | 适用范围 | 常见误判 |
|---|---|---|
DOMAIN,example.com,DIRECT | 只匹配完整域名 | 不能覆盖其子域名 |
DOMAIN-SUFFIX,example.com,DIRECT | 匹配 example.com 及其子域名 | 不会匹配 content-example.com |
DOMAIN-KEYWORD,example,DIRECT | 域名中包含关键词 | 范围较宽,可能误匹配其他域名 |
MATCH,策略组 | 兜底规则 | 应放在规则末尾 |
规则语法和匹配优先级可对照Mihomo 官方 Routing Rules 文档。测试时优先使用一个明确的 DOMAIN 或 DOMAIN-SUFFIX,不要一开始就用复杂的 IP、进程或规则集条件。
第四步:核对策略组名称,不要凭记忆填写
规则最后一列必须是当前配置中真实存在的出站名称,例如 DIRECT、REJECT 或某个代理组。订阅更新后,代理组名称可能变化;如果规则写了不存在的名称,可能出现配置校验失败、命中后无法出站或界面显示异常。
- 打开代理组列表,复制实际显示的组名,不要手动猜测表情符号、空格或大小写。
- 把规则动作临时改为已确认存在的
DIRECT或其他明确组名进行测试。 - 如果规则命中但网页仍打不开,再恢复目标策略组并检查节点连接、DNS、MTU 和日志。
不要把“命中规则”直接等同于“网页一定能打开”:规则只说明请求选择了某个动作,出站连接仍可能因节点、DNS、网络丢包或 MTU 问题失败。
第五步:连接页面没有请求时,检查流量有没有进入客户端
如果最终配置中有规则,但连接页面完全没有对应请求,优先检查流量接管,而不是继续改规则。
- Windows 系统代理:确认客户端的系统代理开关已开启,并检查目标应用是否使用系统代理。部分应用会自带代理设置,可能覆盖系统设置。
- 浏览器代理:检查浏览器扩展、独立代理配置和加密 DNS 设置。浏览器可能不使用系统代理,或通过独立解析路径访问。
- TUN 模式:只有在客户端已启用、虚拟网卡创建成功且权限正常时,相关流量才可能被 TUN 接管。TUN 开启后若断网,先关闭 TUN、恢复系统代理或直连状态,再查看日志。
- 移动端或其他应用:确认 VPN/虚拟网卡权限仍然有效,并检查是否存在分应用排除、应用自身代理或网络切换。
- 重新测试:关闭目标应用后重新打开,再访问一个新的请求目标,观察连接页面是否出现进程、域名、规则或出站字段。字段名称可能因客户端和内核版本不同而变化。
Clash Verge Rev 官方仓库说明客户端提供系统代理和 TUN 功能,但这些开关解决的是流量入口问题,不会自动修复错误的规则顺序或不存在的策略组。
规则命中后仍然失败:按出站网络继续排查
当连接页面已经显示目标请求和命中规则,说明规则至少参与了这次请求。接下来按以下顺序处理:
- 先换出站策略:确认当前策略组中确实有可用节点,先用一个已知能建立连接的节点做对照。
- 再看 DNS:如果日志显示解析超时、解析结果异常或域名解析与规则类型不一致,暂时恢复客户端默认 DNS 设置,避免同时改动多个变量。
- 再看 MTU:若小网页能开、大文件或特定服务反复超时,可将 MTU 作为网络层变量单独测试,不要把 MTU 问题误判成规则不生效。
- 最后看日志:区分 DNS 超时、连接超时、TLS 握手失败、远端拒绝和策略组引用错误。每次只改一个设置,记录修改前后的结果。
复测完成后删除唯一标记规则,恢复原来的规则顺序,并确认系统代理、TUN 和 DNS 设置回到你的日常方案。
版本与回滚:什么时候不要继续折腾规则
如果出现“编辑规则页面有内容、反复激活后最终配置仍没有内容”的特征,先记录客户端版本、系统、订阅配置类型和复现步骤,再查看官方 Releases 与 Issues 的当前信息。不要根据第三方文章直接认定某个版本必然有问题,也不要在没有备份的情况下删除配置。
- 备份配置文件和规则内容。
- 记录唯一标记规则是否能进入最终配置。
- 查看官方 Releases 页面及相关 Issue 的当前说明。
- 若需要切换版本,先确认安装包来源、系统架构和配置备份,再按官方页面操作。
- 切换后用同一条唯一标记规则复测,避免把不同测试条件混在一起。
资料核验日期:2026 年 11 月 2 日。版本号、界面入口和问题处理状态可能变化,本文不把当前页面之外的版本行为扩展为所有版本结论。
常见问题
Clash Verge Rev 规则页面有内容,为什么还是不生效?
先检查规则是否进入最终运行配置。编辑器显示内容只能证明文件保存成功,不能证明当前订阅激活时已经合并。用唯一标记规则搜索运行配置,若找不到,先查配置合并、订阅激活和版本行为。
DOMAIN 和 DOMAIN-SUFFIX 应该怎么选?
DOMAIN 只匹配完整域名;DOMAIN-SUFFIX 可匹配该域名及其子域名。例如需要覆盖 www.example.com 时,通常应考虑 DOMAIN-SUFFIX,example.com,而不是只写 DOMAIN,example.com。
为什么自定义规则写在后面却完全没有效果?
规则按从上到下匹配。若前面已有宽泛规则或 MATCH,后面的自定义规则可能永远不会执行。把测试规则放到前置位置,并确认 MATCH 位于兜底位置。
规则已经命中,但网页仍然打不开怎么办?
这通常要转查出站网络:先确认策略组和节点真实存在且能建立连接,再看日志中的 DNS、连接超时、TLS 或 MTU 线索。规则命中不代表出站一定成功。
连接页面没有请求,是不是规则写错了?
不一定。先确认应用是否使用系统代理、浏览器是否有独立代理设置、TUN 是否启用且权限正常。没有请求通常说明流量尚未进入客户端,应该先排查流量接管。