Nginx 先检查精确匹配,再记住最长的匹配前缀;^~ 可能直接终止搜索,否则按配置顺序测试正则表达式。如果没有正则表达式胜出,就回到先前记住的前缀。
解析器接受单个 server 块或平面 location 列表,支持 =、^~、普通前缀、~ 与 ~*。嵌套和命名 location 会被明确拒绝;浏览器正则表达式也无法重现 Nginx 使用的每一项 PCRE 功能。
解析与匹配完全在浏览器内进行,不会启动 Nginx、不会发送请求;粘贴的 host name、路径与内部配置都留在你的设备上。
关于这个主题的常见疑问与实用解答。
粘贴一个 server 块或一组平面的 location 指令,输入以 / 开头的 URI,再阅读五步判定流程。编辑时,选中规则以及每个跳过或继续的阶段都会同步更新。
只有正则表达式 location 直接依赖配置顺序,第一个匹配的正则表达式会胜出。精确与前缀 location 有各自规则,包括精确匹配优先与最长前缀选择。
^~ 仍是前缀 location。如果它是匹配的最长前缀,Nginx 会直接选定它,不再检查正则表达式。较短的 ^~ 前缀不会胜过更长且匹配的普通前缀。
Nginx 会按出现顺序测试正则表达式 location,遇到第一个匹配者就停止。因此,调换两条范围重叠的正则表达式可能改变选中的配置。
不能。它只模拟单个 server 块中的平面 location,以及常见的 =、^~、前缀、~、~* 行为;不执行指令、不处理嵌套或命名 location、rewrite 或 try_files 重定向,也不涵盖所有 PCRE 功能。
解析器完全在浏览器中运行,不会上传配置,也不会真的发送测试请求。如果配置包含敏感信息,仍请先确认组织对屏幕共享、剪贴板与设备的规定。