更新 proxy/rewriter.go

This commit is contained in:
XOF
2025-12-15 05:42:34 +08:00
parent d3c8f5643c
commit 31cd013a11

View File

@@ -135,16 +135,22 @@ func (r *ContentRewriter) rewriteURL(urlStr string) string {
urlStr = r.baseURL.Scheme + ":" + urlStr
}
// 绝对路径(以 / 开头但不是 //
if strings.HasPrefix(urlStr, "/") && !strings.HasPrefix(urlStr, "//") {
return "/p/" + r.token + urlStr
}
u, err := url.Parse(urlStr)
if err != nil {
return urlStr
}
// 相对路径
if !u.IsAbs() {
u = r.baseURL.ResolveReference(u)
}
// 同域名,只保留路径
// 同域名
if u.Host == r.baseURL.Host {
proxyPath := u.Path
if u.RawQuery != "" {
@@ -156,9 +162,8 @@ func (r *ContentRewriter) rewriteURL(urlStr string) string {
return "/p/" + r.token + proxyPath
}
// 跨域资源,完整 URL
fullURL := u.String()
return "/p/" + r.token + "/" + fullURL
// 跨域资源
return "/p/" + r.token + "/" + u.String()
}
func (r *ContentRewriter) rewriteSrcset(srcset string) string {