ZEIT Now / GatsbyJS-部署到子目录

问题描述 投票:0回答:1

我目前拥有一个名为vidu.sh的域我现在想通过ZEIT部署Gatsby应用。我已经在仪表板中添加并配置了域(该域是在外部服务上购买的,我已经更改了名称服务器以匹配ZEIT的域名)[]

已部署的应用程序应在https://vidu.sh/an

上可用。 (请注意,在我编写此行时,由于我先前具有涉及Github Pages的配置,因此我的应用程序可能可用。我现在想迁移到ZEIT,因为它可以满足我的更多需求)

是否有一种方法可以将应用程序部署到请求的URL,而无需将我的gatsby应用程序源移动到名为“ / an” /

的目录中?

如果没有其他选择,只能创建“ / an”

目录,如何配置项目以处理自定义404页面? (请参阅我的previous unanswered question

基本上,我想使用https://vidu.sh/an作为我的应用程序的根。

  • [https://vidu.sh应该重定向到https://vidu.sh/an(HTTP 301)
  • 到目前为止,我已经挖掘了以下文档,因为我无法链接它们来实现我的目标:

  • --prefix-paths:由Gatsby提供的标志,用于指出某个应用将托管在某个地方而不是根域(/)上。我不确定使用now CLI是否会自动添加此标志。
  • now.json:我了解从根目录提供此文件将使我能够自定义now CLI
  • 的行为,但是我看不到应该添加什么来更改构建脚本。
  • Custom 404:看起来可以通过这种方式将404与嵌套文件夹进行匹配,因此“ / an”解决方案似乎是最可行的。我只是觉得创建该目录不是最佳选择。
  • UPDATE

我已经尝试过以下now.json配置:

{
  "version": 2,
  "rewrites": [
    {
      "source": "/an",
      "destination": "/"
    },
    {
      "source": "/an/(.*)",
      "destination": "/$1"
    }
  ]
}

这可行,但是我以某种方式重定向到根域。我怀疑是Gatsby的行为,现在由ZEIT处理的事情不会直接更改URL

我目前拥有一个名为vidu.sh的域,我现在想通过ZEIT部署Gatsby应用程序。我已经在仪表板上添加并配置了域(该域是在外部服务上购买的,我...

gatsby zeit-now
1个回答
0
投票

通过使用rewrites--prefix-paths设法解决了我的问题这是解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.