我正在研究使用 PWA 的潜力,但是当我放置 manifest.webmanifest 时,它最终会进入重定向循环并导致浏览器返回“重定向错误过多”,这是唯一这样做的资源,我我正在使用相同的方法加载其他资源,例如 CSS、JS、Images、Favicon、robots.txt,但没有遇到问题
服务器使用 HTTPS 和 HTTP/2 在 localhost:8080 上运行
Chrome DevTools 控制台显示
GET https://localhost:8080/manifest.webmanifest net::ERR_TOO_MANY_REDIRECTS
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Title</title>
<meta name="description" content="Meta Description">
<link rel="manifest" href="/manifest.webmanifest">
<link rel="stylesheet" href="/assets/uikit-3.5.9/css/uikit.min.css">
<link rel="stylesheet" href="/assets/css/app.min.css">
</head>
清单文件本身由使用 Gorilla Mux 用 Go 编写的 Web 服务器提供服务
r.PathPrefix("/manifest.webmanifest").Handler(http.FileServer(http.Dir(os.Getenv("PUBLIC_ROOT"))))
我也尝试过使用 HandleFunc 来构造和提供清单,但这也会导致重定向循环。
如果我直接导航到浏览器中的清单,它会成功加载(Chrome 开发工具中没有显示任何重定向)
下面是浏览网站时 chrome 开发工具的截图

