Redirect GCP-静态宿主-重定向到/index.html
我正在尝试使用GCP和谷歌云存储为静态网站提供服务。我已经完成了这里规定的一切 假设我有以下文件结构:Redirect GCP-静态宿主-重定向到/index.html,redirect,google-cloud-platform,google-cloud-storage,Redirect,Google Cloud Platform,Google Cloud Storage,我正在尝试使用GCP和谷歌云存储为静态网站提供服务。我已经完成了这里规定的一切 假设我有以下文件结构: - index.html - folder - index.html - another.html 我进入www.example.com/folder 它重定向到www.example.com/folder/index.html=>index.html是不需要的 但是,如果我输入www.example.com/folder/,它不会重定向并以透明的方式正确地提供index.h
- index.html
- folder
- index.html
- another.html
我进入www.example.com/folder
它重定向到www.example.com/folder/index.html
=>index.html是不需要的
但是,如果我输入www.example.com/folder/
,它不会重定向并以透明的方式正确地提供index.html页面
如何防止第一种行为?还是自动添加尾部斜杠
谢谢 您应该能够相应地将设置为index.html。有关详细信息,请查看中提供的其他注释。参考示例可在同一文档中找到 语法:
gsutil web set [-m main_page_suffix] bucket_url
根据该行为的意图。至于是否可取,这是一个更大的问题
例如,假设您将静态网站的MainPageSuffix设置为
index.html。另外,假设您的数据库中没有名为directory的文件
bucket www.example.com。在这种情况下,如果用户请求URL
,云存储尝试为
文件www.example.com/directory/index.html。如果该文件也没有
存在时,云存储返回一个错误页面
MainPageSuffix还控制用户请求时提供的文件
顶级站点。继续上面的示例,如果用户请求
,云存储尝试为该文件提供服务
www.example.com/index.html
不幸的是,我不知道自动添加尾部斜杠的方法。也许你可以在index.html中添加一条消息到“你想去而不是去”的曲调中,但这是一个麻烦的解决办法。可能比使用bucket更容易,因为可以在那里定义。如果你遵循上面的教程,那么你必须有一个app.yaml文件来描述你的路由规则。以下是一个答案: 看看这个 main_page_后缀适用于bucket的每个子目录。例如,在将main_page_后缀配置为index.html的情况下,GET请求将检索,GET请求将检索
你找到解决办法了吗?引用设置MainPageSuffix的答案并不能解决问题。也要面对这个问题。这很烦人。正在考虑使用一个小的javascript代码片段将
../index.html
打成../
你必须在app.yaml中描述路由规则。你的app.yaml看起来怎么样?@V.Tran他们描述的是谷歌云存储静态网站托管-它与app engine无关。对于遇到此问题的任何人,你可能想遵循我确实阅读过的文档,但它应该在后台提供index.html
,而不是实际执行301重定向。它适用于根目录www.example.com
不会附加index.html
,但是一旦你转到一个子目录,就会添加index.html
(通过重定向),尽管这并不能真正回答问题,但它确实提供了一个非常有趣的替代方法。因此,它可能不应该被标记为答案,但您将得到赏金:)@PierreDuc,它可能无法将index.html
设置为bucket的实际“目录索引”,就像apache2将其作为指令一样。每个这样的目录一个bucket可能是唯一的选择…它实际上读取“主页”(MainPageSuffix
)而不是“目录索引”。谢谢大家的提醒!不过,似乎有很多有趣的重定向选项,奇怪的是我以前从未注意到firebase托管:)