我正在使用Loadbalancer在Google Cloud Storage Bucket上设置静态站点。使用Gridsome生成网站,然后将dist文件夹保存在存储桶中。
我已经在[文档]中设置了gsutil的索引和错误:https://cloud.google.com/storage/docs/gsutil/commands/web
现在,我面临着一个问题,即用于访问子目录的每个URL如何重定向到dir / index.html。这是理想的行为,dir / index.html页面甚至存在于存储桶中。但是我仍然得到404-找不到。
如果我卷曲url subdir / index.html,我会得到HTML
答案 0 :(得分:1)
我不完全知道您如何测试子文件夹,但是我认为此链接可以帮助您解决问题Error 404 when loading subfolder on GCS。另外,您可能必须在How subdirectories work这里看看。
答案 1 :(得分:0)
基于GCS上的How subdirectories work,当浏览器请求URL http://www.example.com/dir
时,它将重定向(301)到所提供内容的对象http://www.example.com/dir/index.html
。
我的假设是Vue(vue路由器)上没有路由http://www.example.com/dir/index.html
。因此它将被扔到“找不到404”页面。
简单的解决方案是尝试更改所有子目录的链接
http://www.example.com/dir
,http://www.example.com/about
等
http://www.example.com/dir/
,http://www.example.com/about/
当您请求子目录url或重新加载浏览器时,它不会重定向到404页面。但是我们都知道这不是最佳实践。