【问题标题】:How can I force trailing slash in static site hosted on Google Cloud Storage?如何在托管在 Google Cloud Storage 上的静态站点中强制使用斜杠?
【发布时间】:2019-03-02 11:44:32
【问题描述】:

按照https://cloud.google.com/storage/docs/hosting-static-website 上的说明,我在 Google Cloud Storage 存储桶上托管了一个网站。该站点可以正常工作,但直接导航到任何子目录页面,例如https://example.com/blog,会将我重定向到https://example.com/blog/index.html,有时这会导致另一个重定向到我的404页面。如果我从https://example.com 开始,然后导航到其他地方,该站点运行良好。

这是将 MainPageSuffix 设置为 index.html 并将 NotFoundPage 设置为 404.html。

如果我导航到末尾带有斜杠的子目录页面(例如https://example.com/blog/),则该站点可以正常工作。我还查看了 301s 的故障排除建议,它通过这些步骤运行对我不起作用。

有没有办法将 GCS 存储桶的尾部斜杠强制为静态站点?如果没有,我如何解决重定向到 index.html 时遇到的问题?

【问题讨论】:

标签: google-cloud-platform web google-cloud-storage gsutil


【解决方案1】:

如果您的 MainPageSuffix 是 index.html,当您尝试按照您的指示直接访问子目录(例如 https://example.com/blog)时,服务会尝试查找目标对象或 https:// 示例。 com/blog/index.html。假设 /blog/ 不存在零字节对象,对于 https://example.com/blog/ 也是如此。如果 /blog/ 存在零字节空对象,See the Troubleshooting topic 用于删除此零字节对象。删除零字节对象后,系统将显示 https://example.com/blog/index.html。如果不存在这样的对象,如果设置为 NotFoundPage,系统将显示错误页面“404.html”。

在您的情况下,如果您在子目录 /blog/ 下包含一个 index.html 文件,它应该通过在 https://example.com/blog 或 @ 两种情况下显示 https://example.com/blog/index.html 页面来解决问题987654323@。或者,您需要提供访问子目录中任何特定对象的完整路径。

有关子目录如何工作的更多信息,请参阅以下链接。

How Subdirectories Work

来自Recommended: Assigning specialty pages

索引页面(也称为 webserver directory index 是访问者请求没有关联文件的 URL 时提供给他们的文件。当您分配 MainPageSuffix 时,Cloud Storage 会查找具有该名称的文件,其前缀与访问者请求的 URL 匹配。

例如,假设您将静态网站的 MainPageSuffix 设置为 index.html。此外,假设您的存储桶 www.example.com 中没有名为目录的文件。在这种情况下,如果用户请求 URL http://www.example.com/directory,Cloud Storage 会尝试提供文件 www.example.com/directory/index.html。如果该文件不存在,Cloud Storage 会返回错误页面。

MainPageSuffix 还控制用户请求顶级站点时提供的文件。继续上面的示例,如果用户请求http://www.example.com,Cloud Storage 会尝试提供文件 www.example.com/index.html。

如果您仍然遇到任何问题,请提供您网站的详细信息,以便为您的问题提供具体的解决方案,并说明您期望的具体结果。

为了信息,我特意在每个 http:// 后面插入一个空格,以避免在这篇文章中包含太多链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2023-03-23
    • 2020-12-18
    • 1970-01-01
    • 2021-01-16
    • 2015-01-27
    • 2020-03-24
    相关资源
    最近更新 更多