0

我正在研究使用 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 开发工具中没有显示任何重定向)

manifest.webmanifest 直接导航时

下面是浏览网站时 chrome 开发工具的截图

Chrome 开发工具

4

1 回答 1

0

不确定如何或为什么,但问题似乎出在会话中间件中,其中针对 webmanifest 链接设置了 Cookie

通过从会话管理器中排除清单的 URL,问题就消失了

于 2020-11-08T20:05:59.243 回答