更新 proxy/rewriter.go
This commit is contained in:
@@ -125,6 +125,11 @@ func (r *ContentRewriter) rewriteURL(urlStr string) string {
|
||||
return urlStr
|
||||
}
|
||||
|
||||
// 处理协议相对 URL(//domain.com/path)
|
||||
if strings.HasPrefix(urlStr, "//") {
|
||||
urlStr = r.baseURL.Scheme + ":" + urlStr
|
||||
}
|
||||
|
||||
u, err := url.Parse(urlStr)
|
||||
if err != nil {
|
||||
return urlStr
|
||||
@@ -134,7 +139,7 @@ func (r *ContentRewriter) rewriteURL(urlStr string) string {
|
||||
u = r.baseURL.ResolveReference(u)
|
||||
}
|
||||
|
||||
// 如果是同域名,只保留路径
|
||||
// 同域名,只保留路径
|
||||
if u.Host == r.baseURL.Host {
|
||||
proxyPath := u.Path
|
||||
if u.RawQuery != "" {
|
||||
@@ -146,10 +151,11 @@ func (r *ContentRewriter) rewriteURL(urlStr string) string {
|
||||
return "/p/" + r.token + proxyPath
|
||||
}
|
||||
|
||||
// 跨域资源,需要完整 URL
|
||||
// 跨域资源,完整 URL
|
||||
return "/p/" + r.token + "/" + u.String()
|
||||
}
|
||||
|
||||
|
||||
func (r *ContentRewriter) rewriteSrcset(srcset string) string {
|
||||
if srcset == "" {
|
||||
return srcset
|
||||
|
||||
Reference in New Issue
Block a user