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