我有一个配置为静态网站的 Azure 存储帐户。静态网站包含一个名为“versions”的子目录,其中包含该网站的几个其他版本。我可以显示这些版本,但它需要尾部斜杠,这显然不理想,因为大多数人不使用它们。
例如,假设我的静态网站的 URL 是 https://mystorageaccount.z8.web.core.windows.net ...
- 没有尾部斜杠 - 显示空白页 ( https://mystorageaccount.z8.web.core.windows.net/versions/1.2.3 )
- 带有尾部斜杠 - 网站按预期显示 ( https://mystorageaccount.z8.web.core.windows.net/versions/1.2.3/ )
我假设这是因为静态网站正在尝试提供服务 https://mystorageaccount.blob.core.windows.net/%24web/versions/1.2.3index.html ,但是有没有办法可以将静态网站配置为不需要尾部斜杠?
我确实尝试将 /index.html
指定为索引文档,但静态网站配置不允许这样做。
If specified, index document name must be between 3 and 255 characters in length, and must not contain any '/' characters.
最佳答案
几天前我遇到了这个问题,发现这个非常旧的帖子没有得到答复,所以这是我的 5 美分。
这是由于 Azure 静态 Web 应用程序中的错误造成的,无论它们是在 Blob 存储内还是在不那么 Shiny 的新静态 Web 应用程序服务中。这就是为什么使用或不使用 CDN 服务并不相关。
简而言之,问题是 Azure 静态 Web 应用程序不会在 url 末尾添加尾部斜杠,这使得无法正确链接页面的资源(脚本、图像、字体、样式等) ),因为它最终会在父文件夹中查找文件夹。这里解释了这个问题 https://github.com/Azure/static-web-apps/issues/42
解决方法
确保在任何链接上添加尾部斜杠或
使用绝对 URL 而不是相对 URL。
关于azure - 将 Azure 静态网站配置为不需要尾部斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180871/