RequestOrbit

实用重定向示例

用几个实际场景掌握开发调试、API 切换和 CDN 迁移。

把测试环境的 API 转到本地

这条规则会把 /v1/ 后面的完整路径放进 $1。这样无需修改前端构建,就能让现有网页连接本地 API 或反向代理。

只勾选本地服务支持的请求方法,并把来源网页限制为 app.example.com。

            Match type    Simple wildcard
Match         https://api.staging.example.com/v1/*
Resources     XMLHttpRequest
Methods       GET, POST, PUT, PATCH, DELETE
Initiator     app.example.com
Action        Redirect
Destination   http://localhost:3000/v1/$1

https://api.staging.example.com/v1/users/42
→ http://localhost:3000/v1/users/42
          
临时把旧 CDN 切到新 CDN

这条规则会保留脚本、样式、图片和字体的完整路径,只替换资源域名。适合在网站代码尚未全部更新时临时过渡。

请注意:这是固定重定向,不是故障切换。新 CDN 无法访问时,浏览器不会自动退回旧 CDN。

            Match type    Simple wildcard
Match         https://static.legacy.example.com/*
Resources     Script, Stylesheet, Image, Font
Initiator     www.example.com
Action        Redirect
Destination   https://cdn.example.com/$1

https://static.legacy.example.com/assets/app.css
→ https://cdn.example.com/assets/app.css
          
用正则把只读 API 从 v1 切到 v2

两个捕获组分别保留资源类型和 ID,只把 /v1/ 改成 /v2/。规则仅匹配 GET,避免误改写入请求。

保存时,当前浏览器会检查是否支持这条正则表达式。如果每个 * 都能明确对应一段要保留的内容,使用简易通配符会更直观。

            Match type    Regular expression
Match         ^https://api\.example\.com/v1/(users|projects)/([^?]+)$
Resources     XMLHttpRequest
Methods       GET
Initiator     app.example.com
Action        Redirect
Destination   https://api.example.com/v2/$1/$2

https://api.example.com/v1/projects/alpha
→ https://api.example.com/v2/projects/alpha
          
调试时只替换一个线上脚本

精确匹配一个脚本地址,就能把它换成本地调试版本,而不会影响网站的其他资源。

请只在自己管理的应用上使用。如果网页本身采用 HTTPS,本地服务也最好使用 HTTPS,以免被浏览器的混合内容策略拦截。

            Match type    URL filter
Match         https://app.example.com/assets/checkout.js
Resources     Script
Initiator     app.example.com
Action        Redirect
Destination   http://localhost:5173/checkout.js
          
使用示例前,请先注意

下面的示例都使用专门用于文档的 example.com。请换成你自己管理的域名,先保持规则关闭,再用几个真实 URL 进行测试。

重定向和请求头会改变网页实际收到的内容。请尽量限制资源类型和来源网页,避免规则影响无关网站。

重定向不适合做什么

只要所有条件匹配,浏览器就会立刻重定向。它无法等到 404 后再处理,也不能读取响应内容、在网络失败后切换地址,或运行 JavaScript 动态生成 URL。

  • 目标地址只能使用 HTTP 或 HTTPS。
  • 简易通配符和正则表达式的捕获内容都用 $1 到 $9 引用。
  • 查询参数的顺序、编码方式和重复参数不会被自动整理。
  • 请避免循环重定向;扩展会阻止明显的自重定向和已检测到的循环。
隐私无需额外设置

规则只保存在浏览器中。扩展不含数据分析,也不会把规则交给远端服务处理。