当前位置: 首页 > 知识库问答 >
问题:

子目录页面找不到托管在谷歌云存储桶上的静态站点

黄俊誉
2023-03-14

我正在用Loadbalancer在谷歌云存储桶上建立一个静态站点。站点将使用GridPay生成,然后dist文件夹将保存在bucket中。

我已经设置了索引和错误与gsutil一样在[留档]:https://cloud.google.com/storage/docs/gsutil/commands/web

现在,我面临一个问题:如何将访问子目录的每个url重定向到dir/index。html。这是所需的行为,即dir/index。html页面甚至存在于bucket中。但我还是收到了404-没找到。

如果我卷曲到url子目录/索引。html我得到了html

共有2个答案

陆安国
2023-03-14

根据子目录在GCS上的工作方式,当浏览器请求URLhttp://www.example.com/dir它将被重定向(301)到对象http://www.example.com/dir/index.html关于提供的内容。

我的假设是没有路线http://www.example.com/dir/index.html在Vue(Vue路由器)上。因此,它将被抛出到未找到404页。

简单的解决方案是尝试改变所有子目录链接从

http://www.example.com/dirhttp://www.example.com/aboutetc, to

http://www.example.com/dir/,http://www.example.com/about/

当您请求子目录url或重新加载浏览器时,它不会重定向到404页面。但我们都知道这不是最佳实践。

孔棋
2023-03-14

我不知道你是如何测试你的子文件夹的,但我认为这个链接可以帮助你解决在GCS上加载子文件夹时出现的问题404。此外,您可能必须在这里查看子目录是如何工作的。

 类似资料:
  • 问:有可能为谷歌云从Terraform创建以存储域为中心的存储/桶吗?

  • 在谷歌云存储中,我在名为图像的根桶中有一个名为猫的桶。我正在使用google-api-ruby-Client gem上传文件。我可以将文件上传到根桶“图像”,但上传到“图像/猫”不起作用。我知道谷歌云存储中的存储桶没有斜杠的概念,所以我无法弄清楚如何指定嵌套存储桶的名称。 这给出了nil:NilClass的错误

  • 亚马逊通过CloudFront SNI允许这样做。

  • 我正在使用用于谷歌存储API的python客户端库,我有一个文件,pythonScript。py,它包含以下内容: 当我试着运行它时,我在终端上看到: 回溯(最近一次调用last):bucket=storage_client中的文件“pythonScript.py”,第11行。创建bucket(bucket_name)文件“/home/joel/MATI/env/lib/python3.5/sit

  • 将现有的Google云存储桶转移到另一个项目的最佳方式是什么? 我不想在谷歌云存储之外复制它进行传输,拥有两个数据副本或使用另一个桶名。 我能多接近这些要求?