uWeb 中文文档 下载 App

资源重定向——让网页所有资源自动替换镜像

什么是资源重定向

普通 URL 重定向只替换浏览器直接访问的页面地址。但一个现代网页包含大量第三方资源——图片、JS 库、CSS 字体、字体文件、CDN 静态资源——这些资源的 URL 不受 URL 重定向影响。

资源重定向解决了这个问题:对网页中的所有资源请求也应用重定向规则。

启用方式

  1. 长按 设置按钮
  2. 选中"自定义资源重定向"
  3. 在全局重定向 URL 输入框里填入中间层地址(或留空只用 default.redirect)
  4. 强制清空后台重启 uWeb

两种资源重定向路径

全局重定向优先

如果全局重定向 URL 有效,资源重定向也走中间层:

原始请求 → 中间层 → 真实服务器 → 返回内容 → uWeb

这意味着所有资源请求都经由你信任的中间层代理,好处是:

default.redirect 资源级应用

如果没有全局重定向,default.redirect 规则也会应用到资源请求上:

原始请求(如 fonts.googleapis.com/css → fonts.loli.net/css) → 直接访问镜像

这种方式更轻量,但每个资源替换规则需要你自己在 default.redirect 里配置。

为什么需要资源重定向

场景 1:Google Fonts 被墙

很多现代网页引用 fonts.googleapis.com 加载字体。在国内网络环境下这个域名通常无法直接访问,导致:

用资源重定向把 fonts.googleapis.com 替换为 fonts.loli.net 或其他国内镜像,问题瞬间解决。

场景 2:CDN 被墙

很多网站的 JS 库(jQuery、React、Vue 等)托管在 Google CDN、jsDelivr、unpkg 等域名上。在国内直接访问这些域名通常没问题,但在某些受限网络(校园网、公司网)可能被屏蔽。

场景 3:第三方 API 调用

某些 SPA 页面会在前端直接调用第三方 API。资源重定向可以拦截这些 API 请求,走中间层代理返回。

配合 default.resource.redirect(概念性文件)

虽然文档中主要提到的是 default.redirect,但实际实践中经常需要更精细的资源级重定向规则。如果你发现 default.redirect 不够用,可以:

  1. 在中间层里做更精细的资源替换(如 CF Workers/Pages 里写正则匹配)
  2. 或者用 siteextra/ 对特定域名的 HTML 源码做预处理,直接改写 <script src> 和 <link href>

对 file:// URL 的特殊处理

default.redirect 中如果对 file:// 协议的 URL 配置了重定向:

配置建议

  1. 先从 default.redirect 开始——配置少量高频域名的镜像替换
  2. 发现还是有资源加载慢?考虑部署全局重定向中间层
  3. 资源重定向开启后如果遇到某些网站异常,先关掉自定义资源重定向,看是不是中间层替换错了某些不该替换的内容
  4. 记住:全局重定向中间层可以看到你所有请求内容(包括 cookie),一定要用你信任的服务器

下一章