Firebase托管上的动态服务(不同的HTTP标头)

Dan*_*ail 5 firebase firebase-hosting

我想有两个不同的版本,我的静态生成网站:手机版和平板电脑,台式机版本在同一网址-基本上我想使用动态服务Vary HTTP标头 - 各不相同:用户代理如下所述:HTTPS:/ /developers.google.com/webmasters/mobile-sites/mobile-seo/dynamic-serving

我要使用:

  • 响应式网页设计 / RWD,适用于台式机和平板电脑版本,具有桌面优化的图像尺寸和资产
  • 自适应网页设计 / AWD响应式网页设计(RWD比台式机一个更简单的实现-可能只是针对平板手机有些不同的造型)的移动版本与移动优化的图像尺寸和资产

(我应该为图片提供两种不同的布局以及至少两种不同的尺寸-移动版和台式机/平板电脑)

我读的火力地堡“自定义托管行为”部分托管的文档- https://firebase.google.com/docs/hosting/url-redirects-rewrites,但似乎没有办法来配置的时刻。

目前,丹尼尔·赫尔(Daniel Herr)评论建议的唯一方法- 在Firebase托管上动态服务(不同的HTTP标头) 是使用云功能

所以,我可以使用

检测设备的类型,然后动态生成/读取页面的移动或桌面版本。

这样,我们将动态地提供内容,这会削弱 CDN的优势和速度,但是我们仍然可以通过设置res.set('Vary','User-Agent');来缓存页面这可能是解决此问题的方法。

我想知道更多的“本地” /“开箱即用”解决方案,该解决方案由firebase-hosting本身提供,例如“ Rewrites”(https://firebase.google.com/docs/hosting/url -redirects-rewrites#section-rewrites):

"hosting": {
  // Add the "rewrites" section within "hosting"
  "rewrites": [
    {
      "source": "**",
      "device": "MOBILE",
      "destination": "mobile/index.html"
    },
    {
      "source": "**",
      "device": "DESKTOP",
      "destination": "desktop/index.html"
    },
    {
      "source": "**",
      "device": "TV",
      "destination": "tv/index.html"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这样,即使我的网站具有电视版的图像色调和非常宽的版面,也不会在MOBILE设备上投放-自适应网页设计。

因此,除了使用自定义云功能并实际动态生成网站外,目前尚无其他方法。

如果在某个时候Firebase团队可以实施,您是否可以确认或提供任何信息?

谢谢!