【问题标题】:Configure Azure static website to not require a trailing slash将 Azure 静态网站配置为不需要尾部斜杠
【发布时间】:2020-03-29 13:00:50
【问题描述】:

我有一个配置为静态网站的 Azure 存储帐户。静态网站包含一个名为“versions”的子目录,其中包含该网站的几个其他版本。我可以显示这些版本,但它需要一个尾部斜杠,这显然不理想,因为大多数人不使用它们。

例如,假设我的静态网站的 URL 是 https://mystorageaccount.z8.web.core.windows.net...

我假设这是因为静态网站正在尝试提供 https://mystorageaccount.blob.core.windows.net/%24web/versions/1.2.3index.html,但有没有办法可以将静态网站配置为不需要尾部斜杠?

我确实尝试将 /index.html 指定为索引文档,但静态网站配置不允许这样做。

如果指定,索引文档名称的长度必须介于 3 到 255 个字符之间,并且不得包含任何“/”字符。

【问题讨论】:

  • 这是一个单页应用(使用 react 或类似的东西构建)?
  • @ThiagoCustodio 是的。
  • 你见过这个吗? link 如果您希望 yourblog.azureedge.net/myawesomepost(没有尾部斜杠)解析为 yourblog.azureedge.net/myawesomepost.html,您可以将第二个目标模式设置为 $1.html$2。步骤 8 中的目标模式将资产​​解析为 yourblog.azureedge.net/myawesomepost/index.html。当然,这意味着任何没有扩展名的资源都将解析为 .html。
  • @Ron 谢谢,但我认为这有点过时了。看起来它是在添加静态网站作为功能之前编写的。此外,我们没有使用 Azure CDN 来放置静态网站,而是使用 Azure Front Door(在重写 URL 时似乎没有提供附加斜杠的方式)。
  • 对我来说,这似乎是您的 SPA 的问题,而不是 azure 存储 blob 的问题。看看有没有办法将 pushState 设置为 true

标签: azure azure-storage azure-blob-storage


【解决方案1】:

几天前我遇到了这个问题,发现这个非常古老的帖子没有得到回复,所以这是我的 5 美分。

这是由于 Azure 静态 Web 应用程序中的错误,无论它们是在 Blob 存储中还是在不太闪亮的新静态 Web 应用程序服务中。这就是为什么它与使用或不使用 CDN 服务无关的原因。

简而言之,问题是 Azure 静态 Web 应用程序不会在 url 的末尾添加斜杠,这使得无法正确链接页面的资源(脚本、图像、字体、样式等) ),因为它最终会在父文件夹中查找文件夹。

这里解释了这个问题https://github.com/Azure/static-web-apps/issues/42

解决方法

确保在任何链接上添加斜杠或

使用绝对网址而不是相对网址。

【讨论】:

    猜你喜欢
    • 2022-12-30
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多