Azure 静态网站的 URL 应该没有尾随 /

URLs of Azure Static Website should work without trailing /

我创建了一个基于 Azure Blob 存储的 Azure 静态网站。 为了能够管理从 HTTP 到 HTTPs 的自动重定向,我使用 Azure Verizon Premium 订阅创建了 Azure CDN,并创建了一个端点 指向静态网站的URL。我按照 this tutorial

中的步骤操作

如果您点击URL,例如

https://blah.com/foo/

您将被自动重定向到

https://blah.com/foo/index.html

这是因为我在静态网站配置面板中将Index文档名称设置为index.html

我想要实现的是将 /index.html 符号添加到 URL 的末尾,如果它没有扩展名,例如

https://blah.com/foo
https://blah.com/bar/foo

预期结果将重定向到:

https://blah.com/foo/index.html
https://blah.com/bar/foo/index.html

所以我的想法是打开 https://cdn.windowsazure.com/http/rules/default.aspx 并尝试创建一个新规则; feature-> URL Redirect。在 Source 标签附近的文本框中,我尝试使用正则表达式 ^[^.]+$ 指定条件,它检查路径是否包含 . 如果是,则意味着 URL指向具有扩展名的文件,/index.html 应添加到 URL 的末尾。我认为我的 Regex 表达式是错误的,应该有所不同。或者这不是实现我想要的目标的最佳方式? 有任何想法吗? 干杯

所以我尝试了几乎所有方法,最后,在添加此规则后,Azure Static Webiste 按预期运行:

除此之外,我知道它有一个可接受的答案,但如果您使用自定义来源并使用静态网站的主要端点(类似于.z8.web.core.windows.net/).无论出于何种原因,CDN 都会将其视为 Web 服务器而不是原始存储位置。