进阶 URL 模式 —— 你不知道的那些匹配
URL 模式决定一条规则在哪里执行。大多数用户只知道 example.com/* —— 但精确的匹配,是一条「差不多」工作的规则和一条恰好在该工作的地方工作的规则之间的区别。
五个该知道的模式
| 模式 | 匹配 |
|---|---|
https://example.com/admin | 只匹配那个精确地址 |
https://example.com/* | 那个网站的每个页面 |
https://*.example.com/* | 每个子域名(app.、blog.、...) |
*://localhost:*/* | 任何端口和协议上的 localhost |
*staging* | 任何含「staging」的 URL |
子串模式 —— 最被低估的
表格的最后一行是关键的那个:*staging* 不是一个「域名」—— 它是任何「staging」这个词出现在某处的 URL。一条带红色「DEV」横幅的规则,模式 *staging* —— 它就给你标记每一个 staging 环境,不管域名或客户是什么。
模式在层级里叠加
一个模式可以设在三个层级上:文件夹、分组、规则。它们一起作用 —— 一个逻辑与。一个 *.example.com/* 的文件夹加一条 */checkout* 的规则意味着:「只有结账页面,只在 example.com 的子域名上」。上面宽,下面窄。
常见错误
- 没有结尾的星号。
example.com只匹配首页。你想要整个网站 ——example.com/*。 - 子串太宽。
*app*命中example.com…还有apple.com,还有/happy-path。让子串具体些。 - 协议很重要。
https://...抓不到http://localhost。本地工作用*://。 - 一条「几乎哪里都不工作」的规则。最常见的原因 —— 模式太窄。检查是不是少了一个
*。
另见
安装 JustZix —— 把一条规则精确瞄准到你想要它的地方。
为这篇文章评分
暂无评分 — 成为第一个。